如何将电子表格中单元格的内容输出到txt文件?

时间:2017-03-04 13:28:11

标签: excel excel-vba vba

我的电子表格看起来像这样,有三列A,B和C:

1   41309.5 の
2   23509.54    に
3   22216.8 は

我需要做的是创建一个文本文件,其中文件的每一行如下所示:

 Insert into freqleeds (id, freq, text) values ( 1, 41309.5, 'の')
 ..

有人可以告诉我如何做到这一点吗?

2 个答案:

答案 0 :(得分:0)

不使用VBA甚至复杂功能,您可以在D列创建一个支持列,使用以下公式将Concatenate()模板包含变量:

="Insert into freqleeds (id, freq, text) values (" & A1 & "," & B1 & "," & C1 & ")"

在D1单元格中粘贴此公式后,可以将其向下拖动,为每行创建特定的db语句。

enter image description here

之后,您应该选择整个D列并复制它:

enter image description here

然后你应该将内容粘贴到记事本中。

enter image description here

完成。

Ps:如果您想自动执行此作业,可以创建一个宏,将此连接函数应用于电子表格中包含内容的每一行,并根据您的需要对其进行过滤,并{{3} }。

答案 1 :(得分:0)

尝试:

Sub test()

 Dim Ws As Worksheet, i As Long, Fr As Long, Lr As Long, St0 As String, St As String

 Set Ws = ActiveSheet
 St0 = "Insert into freqleeds (id, freq, text) values ( "

 Fr = 1 'First row
 Lr = Ws.Cells(Ws.Rows.Count, "A").End(xlUp).Row 

 For i = Fr To Lr
  St = St & St0 & Ws.Cells(i, 1) & ", " & Ws.Cells(i, 2) & ", '" & Ws.Cells(i, 3) & "')" & vbNewLine
 Next

 With CreateObject("Scripting.FileSystemObject")
    .CreateTextFile("d:\00000.txt", True, True).Write St ' change the file name
 End With

End Sub