在我的场景中,有一些excel文件(每个文件可能有多个工作表)我将经常更新,哪些内容几乎要频繁地导入 PostgreSQL 数据库。此数据库管理器不能直接使用.xlsx
文件,因此我需要先将.xlsx
导出为.csv
,然后将.csv
导入数据库。
我已经研究了关于这个主题的不同问题,但我认为他们中的任何一个都没有真正解决我的问题。我不是在寻找一个可以解决这种情况的简单代码(虽然这会很棒)但是关于如何处理解决方案的一般方向(VBA,Java / C#/ Python程序,.bat
可执行文件。 ..)。
任何帮助都将受到欢迎。
附注:
.xlsx
的任何内容(知道如何扩展Excel的使用是非常令人惊讶的)。为.xlsx
文件格式编写一个可能是一个选项,但我真的想避免这种情况,因为我可能有点短时间,我猜它会需要很多。答案 0 :(得分:1)
因此,使用VBA,您可以执行以下操作:
这样的事情可以完成工作:
Sub vba_code_to_convert_excel_to_csv()
Dim ws As Worksheet
Dim l_counter As Long
For Each ws In ThisWorkbook.Sheets
l_counter = l_counter + 1
ws.Activate
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\new_file" & l_counter & ".csv", FileFormat:=xlCSV, CreateBackup:=False
Next ws
End Sub
重要编辑:
在使用代码之前,请确保进行保存。因为它会更改Excel选项卡的名称。在此处阅读更多内容:http://windowssecrets.com/forums/showthread.php/33489-Sheet-name-changes-when-saved-in-CSV-format-(XL2000)