如何用VB将access中字段数据导出生成txt格式的文本文件

如何用VB将access中字段数据导出生成txt格式的文本文件,第1张

Dim conn As New ADODBConnection, RS As New ADODBRecordset, strSQL As String, AA() As String, SST As Integer, X As Integer
'数据库链接语句略
strSQL = "Select From 数据表名"
RSOpen strSQL, conn, 2, 1
SST = RSRecordCount
ReDim AA(1 To 4, 1 To SST) '将动态数组定义上下标
Do While Not RSEOF
X = X + 1
AA(1, X) = RS!节点编号 '将各字段值存储到数组中
AA(2, X) = RS!X坐标
AA(3, X) = RS!Y坐标
AA(4, X) = RS!Z坐标
RSMoveNext
Loop
RSClose
connClose
'写入txt文件
Open "txt文件的路径+文件名" For Output As #1
For I = 1 To SST
'将数组写入txt文件中," "是空格,vbCrLf是换行符
Write #1, AA(1, I) & " c=" & AA(2, I) & " " & AA(3, I) & " " & AA(4, I) & " " & vbCrLf
Next
Close #1

因为表有几列,用txt的话不方便吧,用excel。

你参考下吧,我之前学习时的代码。Npoi *** 作excel,你先下载Npoidll,然后在项目里添加对它的引用。

下面的dt是DataTable对象。你先从数据库获取数据填充到dt里。然后继续下面的代码。

IWorkbook workbook = new HSSFWorkbook(); //在内存里创建工作簿。在excel里一个excel文件就是一个工作簿           
ISheet sheet = workbookCreateSheet("掉毛表");//在工作簿workbook里创建表,就是打开excel后看到的sheet1、sheet2。。
//下面给表sheet创建行、单元格并赋值。
for (int i = 0; i < dtRowsCount; i++)//dt有多少行,相应就给sheet创建多少行
{
     IRow r = sheetCreateRow(i);//i表示创建的是第几行
     for (int j = 0; j < dtColumnsCount; j++)//dt有多少列,相应就给sheet创建多少个单元格
     {
         ICell c = rCreateCell(j);//给r这个行创建第j个单元格
         cSetCellValue(dtRows[i][j]ToString());//给c这个单元格设置显示的内容,为dt的第i行第j格
      }
}
            
using (FileStream fs = FileCreate(@"c:\\2xls"))//创建文件流对象fs,这个fs与指定路径挂钩。
{
     workbookWrite(fs);//把workbook写入到文件流fs里。
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10559184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存