我有一个包含50个文本文件的文件夹,我需要一个C#或.NET程序,可以读取这些文本文件并将它们转换为表格,我希望主键是文本文件本身的名称。 / p>
//sample contents of my 1.txt file is as follows
atro
astrology
king
moon
monkey
seven
skin //
所有文本文件都包含相同格式的信息。 我写了一个宏,可以读取上面提到的数据格式的文本文件然后当我试图在Excel中运行宏时,我收到一个错误,说明内存不足。
enter code here
Sub rameshc() “ 'ramesh Macro “ '键盘快捷键:Ctrl + k “ Dim nxt_row As Long
'Change Path
Const strPath As String = "C:\Users\roo\Desktop\Volumes\eGo\tags\0\"
Dim strExtension As String
'Stop Screen Flickering
Application.ScreenUpdating = False
ChDir strPath
'Change extension
strExtension = Dir(strPath & "*.txt")
Do While strExtension <> ""
'Adds File Name as title on next row
Range("A65536").End(xlUp).Offset(1, 0).Value = strExtension
'Sets Row Number for Data to Begin
nxt_row = Range("A65536").End(xlUp).Offset(1, 0).Row
'Below is from a recorded macro importing a text file
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & strPath & strExtension, Destination:=Range("$A$" & nxt_row))
.Name = strExtension
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
'Delimiter Settings:
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = True
.TextFileOtherDelimiter = "="
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
strExtension = Dir
Loop
Application.ScreenUpdating = True
End Sub Sub ramesh() “ 'ramesh Macro “ '键盘快捷键:Ctrl + l “ Selection.Copy ActiveCell.Offset(0,1).Range(“A1”)。选择 Selection.PasteSpecial Paste:= xlPasteAll,Operation:= xlNone,SkipBlanks:= _ False,Transpose:= True 结束子
答案 0 :(得分:1)
最快的方法是:
你将使用这样的东西来阅读你的文件:
string[] lines = File.ReadAllLines("C:/YourFile.txt");
foreach (var line in lines)
{
*Insert Statement*
}