vb.net从文本文件读取写入数值
csdn的大大门 帮帮小弟我啊!!
文本文件的格式是:
x y z
23 45 67.4
45 567 32
45.57 457 4.78
第一、记录有很多条 ,数据之间是空格,数据的尾部对齐,如何拿到文件中的每个数值
第二、 数值如何保存成上面的格式
有好的读取,保存的格式也可以贴出来 中间不要只用一个逗号那种,数据看起来乱
[解决办法]
数据是不一样长 经过控制每个单位最长长度用空格填充
这个是数据放在textbox的效果
这个是保存到文本文件的效果
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.