如何从文件夹中读取文本文件并将其转换为MySQL中的表

时间:2013-02-25 10:55:48

标签: c# asp.net mysql

我有一个包含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 结束子

1 个答案:

答案 0 :(得分:1)

最快的方法是:

  1. 创建一个控制台应用程序。在您的文件夹中搜索您的文件。 http://msdn.microsoft.com/en-us/library/vstudio/ezwyzy7b.aspx
  2. 使用 System.Data.SqlClient 建立直接连接。 http://www.bigresource.com/MS_SQL--Problem-with-simple-sqlclient-database-acces--AVufrVBE.html
  3. 编写插入语句。迭代你的文件。并为每个插入一个插入。 http://www.w3schools.com/sql/sql_insert.asp
  4. 你将使用这样的东西来阅读你的文件:

    string[] lines = File.ReadAllLines("C:/YourFile.txt");
    
            foreach (var line in lines)
            {
                *Insert Statement*
            }