首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

vb.net从文本文件读取写入数值解决方案

2012-06-15 
vb.net从文本文件读取写入数值csdn的大大门 帮帮小弟我啊!!文本文件的格式是:xyz234567.4455673245.574574

vb.net从文本文件读取写入数值
csdn的大大门 帮帮小弟我啊!!
文本文件的格式是:
  x y z
  23 45 67.4
  45 567 32
  45.57 457 4.78

第一、记录有很多条 ,数据之间是空格,数据的尾部对齐,如何拿到文件中的每个数值
第二、 数值如何保存成上面的格式

有好的读取,保存的格式也可以贴出来 中间不要只用一个逗号那种,数据看起来乱

[解决办法]
数据是不一样长 经过控制每个单位最长长度用空格填充


这个是数据放在textbox的效果

这个是保存到文本文件的效果


VB.NET code
Imports System.TextImports System.Collections.SpecializedPublic Class 报表    Dim le() As Integer = {8, 6, 3, 18, 20, 3, 7, 10, 6} 'get各字段的MaxLength    '报表名 操作人    Dim title() As String = {"员工信息列表", "xunis"}  '---- "xunis" 替换为 enterman    '数据表头名    Shadows top() As String = {"员工ID", "员工姓名", "性别", "身份证号", "出生年月", "年龄", "部门编号", "部门", "上级部门"}    '打印部分    Private Sub btnSa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelect.Click        '栏位名的字节长度与数据的最长长度做比较 取较大值 以保证数据不会溢出表格        For i = 0 To top.Length - 1            If System.Text.Encoding.Default.GetBytes(top(i)).Length > le(i) Then                le(i) = System.Text.Encoding.Default.GetBytes(top(i)).Length            End If        Next        '执行查询        Try            Dim p As Double = 0            ' 用StringBuilder 拼SQL语句            Dim strStr As New StringBuilder("select")            strStr.Append(" top")            strStr.Append(" 10")            strStr.Append(" *")            strStr.Append(" from")            strStr.Append(" VWEmployees")            '等同于            'Dim strSql As String = "SELECT top 20 * FROM VWEmployees"            Dim ds As DataSet = GetDataSet(strStr.ToString)            If ds.Tables.Item(0).Rows.Count = 0 Then                MessageBox.Show("资料不存在")            Else                TextBox1.Text = ""                '打印标题                Dim c = 0                For i = 0 To le.Length - 1                    c += le(i) + 3 '计算数据行总长度                Next                For i = 0 To CInt((c) / 2) '寻找打印标题的位置                    TextBox1.Text = TextBox1.Text & " "                Next                TextBox1.Text = TextBox1.Text & (title(0)) & vbCrLf                '---------------------------------------------------------------                '--------主体数据部分                '---------------------------------------------------------------                '打印分割线                For k As Integer = 0 To top.Length - 1 '数据的列数                    TextBox1.Text = TextBox1.Text & "___" & len2("_") '调用 len2()控制长度                Next                TextBox1.Text = TextBox1.Text & "_" & vbCrLf  '每输完一行 回车                '打印表头                For k As Integer = 0 To top.Length - 1 '数据的列数                    TextBox1.Text = TextBox1.Text & " | " & len1(top(k)) '调用 len1()控制输出栏位名                Next                TextBox1.Text = TextBox1.Text & " |"                TextBox1.Text = TextBox1.Text & vbCrLf  '每输完一行 回车                '打印分割线                For k As Integer = 0 To top.Length - 1 '数据的列数                    TextBox1. 

热点排行