【问题标题】:How to automatic convert excel 97 to xlsx如何将excel 97自动转换为xlsx
【发布时间】:2018-05-19 12:00:34
【问题描述】:

我有一个包含 excel 97 数据 (.xls) 的源系统。我想使用一种工具或程序来帮助我自动将此数据转换为 .xlsx(新 Excel)。 之后我将使用 Talend 或 SSIS 将数据从 xlsx 加载到数据仓库。

有人知道我可以使用哪些工具来自动转换旧的 excel 文件吗?

【问题讨论】:

  • SSIS 可以原生读取 Excel 97 文件。为什么要将其转换为 .xlsx?
  • @digital.aaron 我同意Excel Source 支持旧的excel文件

标签: sql-server excel ssis etl file-conversion


【解决方案1】:

首先,Sql server 集成服务可以读取包括 Excel 97 在内的所有 Excel 文件格式,只需使用 Excel Connection Manager 即可

第一个解决方案 - 使用 Microsoft.Interop.Excel.dll

您可以使用Microsoft.Interop.Excel库在c#或vb.net中编写代码来自动打开和保存Excel文件:

示例

功能

private void ConvertXlsToXlsx(string strFile)
{
    Excel.Application app = new Excel.Application();
    Excel.Workbook wb = app.Workbooks.Open(strFile);
    wb.SaveAs(strFile + "x", Excel.XlFileFormat.xlWorkbookNormal);
    wb.Close(false);
    app.Quit();
    Console.WriteLine("Done!");
}

代码

String Filename;
Filename = "C:\\File.xls";
ConvertXlsToXlsx(Filename);

第二个解决方案 - 使用 Office Migration Planning Manager

根据这个Super User answer,您可以使用Office Migration Planning Manager。

该工具包还包含 Office 文件转换器 (OFC),它可以将批量文档从二进制格式转换为 OpenXML 格式。 (Technet)

Overview on Technet

Download Link

第三种解决方案 - 第三方应用程序

只要用谷歌搜索“Xls to Xlsx converter”,你会发现海量的在线和离线转换器都可以使用。

【讨论】:

  • 在第一个解决方案中观察你的转义字符
  • @Hadi 不是Excel Source,而是Excel Connection Manager
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
  • 1970-01-01
  • 2023-01-19
  • 2011-03-18
  • 2013-05-19
  • 1970-01-01
相关资源
最近更新 更多