如何将asp.net中的excel文件导入到任何数据库?

我有一套excel模板,将由用户input。 我必须将input到这个模板的数据导入到数据库中。 问题与模板是,他们不是在表格格式。

从你的问题,我收集你已经排除使用JET / OLEDB访问电子表格数据,这只能真正与表格数据。 所以,你需要一些访问单个单元格的方法

可以使用Excel(通过互操作)打开Excel文件,我敢肯定有人会build议。 但是,如果你可以避免这样做,你应该 – 它有各种各样的问题(这是片状的,你不会得到微软的帮助,因为他们基本上说不这样做)。

如果可以将Excel文件保存为XML,则可以避免执行此操作。

  • 如果您使用的是Excel 2003,那么您可以另存为“Xml电子表格”,其function与普通的XLS文件相同,不同的是它不能包含图表或macros代码。 除此之外,它看起来与用户完全一样 – 并且在代码中处理更容易。

  • 如果您使用的是Excel 2007,那么本机文件格式已经是XML(虽然存储在一个ZIP文件中),您也可以在代码中进行处理。 网上有很多例子。

你可以使用open xml sdk来挑选你需要的数据:

http://blogs.msdn.com/excel/archive/2008/11/25/using-the-open-xml-sdk-to-work-with-excel-files.aspx

如果您有Sharepoint Excel服务,则可以使用该服务。 可能不值得购买它只是为了这份工作。

您也可以通过Excel interop使用Excel,但是您必须注意许可问题和内存泄漏。

我会推荐Open XML SDK。

用于.NET的SpreadsheetGear将允许您打开xls和xlsx工作簿,将任何范围放入DataTable中,或遍历单元格并获取每个单元格的原始数据或格式化文本。

您可以在这里看到ASP.NET示例(C#或VB) ,并在此处下载免费试用版。

免责声明:我自己的SpreadsheetGear LLC