将整个Excel文件导出为CSV

在我的场景中,有一些excel文件(每个文件可能有多个表格),我将频繁更新,哪些内容几乎要频繁地导入到PostgreSQL数据库中。 这个数据库pipe理器不能直接处理.xlsx文件,所以我需要首先将.xlsx导出为.csv ,然后将.csv导入数据库。

我已经研究过这个话题的不同问题,但是我不认为他们中的任何一个都能解决我的问题。 我不是在寻找一个可以解决这种情况的简单的代码(虽然那会很棒),而是寻求如何解决这个问题的一个大方向(VBA,Java / C#/ Python程序, .bat可执行文件…) 。

任何帮助将不只是欢迎。

侧面说明:

  1. 我还没有决定使用PostgreSQL作为DBM,我知道还有其他的DBM可以和excel文件一起使用。
  2. 我还没有学会VBA,但是我可以很好地用这个作为借口,如果需要的话就开始这样做。
  3. 我知道FDW的存在,但我还没有find任何.xlsx (这是惊人的知道如何扩展Excel的使用)。 为.xlsx文件格式写一个将是一个选项,但我真的想避免这一点,因为我可能会有一点时间,我猜测这将需要很多。

所以,用VBA你可以做到以下几点:

  • 循环浏览Excel应用程序中的每个工作表。
  • 将其另存为CSV文件。

像这样的东西会做的工作:

 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)