首页 > 解决方案 > Visual Basic .NET:在 Excel 中打开制表符分隔的文本文件

问题描述

我正在努力升级旧版应用程序。此应用程序生成一个以制表符分隔的 .txt 文件,并在最终操作中将此文件转换为 .xlsx 文件并保存。当在 VB6 上构建时,此代码在 Excel 中正确打开(数据按制表符分隔符拆分为列),但在 Visual Basic .NET 上,看起来 Excel 默认使用逗号作为分隔符,这意味着数据都在第一列中。我需要覆盖该属性以强制它由 vbTab 分隔。我怎样才能做到这一点?

示例文本文件

Respondent Id   Starting Date   Starting Time   Completed Date  Completed Time
0000140 12/21/19    20:18:01    12/21/19    20:31:28
0000141 12/21/19    21:11:56    12/21/19    21:14:53
0000142 12/21/19    22:46:11    12/21/19    22:56:24
0000144 12/26/19    15:28:44    12/28/19    22:12:18
0000145 12/26/19    22:27:51    12/27/19    16:48:15
0000146 12/27/19    10:01:42    12/27/19    10:05:06
0000147 12/27/19    10:21:47    12/27/19    10:32:01
0000148 12/27/19    13:01:21    12/27/19    13:09:00
0000149 12/27/19    13:09:19    12/27/19    13:11:51

还有我的 VB.NET 代码。这个真的不多。。。

' Create excel object
Dim oExcel = CreateObject("Excel.Application")

' Open the text file that was generated. Generated_Text_File is generated file that is tab delimited
Dim oBook = oExcel.Workbooks.Open(Generated_Text_File)

oBook.SaveAs(Excel_FilePath, FileFormat:=51)

标签: excelvb.net

解决方案


有一个“格式”选项workbooks.open允许您指定列分隔符。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.workbooks.open?view=excel-pia


推荐阅读