繁体   English   中英

使用ASP.NET在SQL Server中上载Excel数据的最佳实践

[英]Best practice for Uploading Excel data in SQL Server using ASP.NET

我正在寻找通过asp.net Web应用程序在Sql Server 2000数据库中上传excel数据的最佳实践。 Excel数据将是预定义的,格式几乎有42列,在42个10字段中是必填字段,其余字段是有条件的。 即,如果数据存在,则应采用定义的格式。 我还需要验证特殊字符,长度,指定格式等。

验证后,我需要将有效数据存储到sql server表中,并为无效数据提供到excel功能的导出,以便以相同的excel格式导出并带有标识无效单元格的指示符。

有人可以建议我以优化的方式做同样的事情。

谢谢...

您可以使用ADO.NET从电子表格中读取数据,列出在这里

将其读入内存并根据需要解析所有数据。 将已解析的数据存储到DataTable中,然后可以使用两种可能的方法将这些数据批量保存到数据库中。

将数据批量加载到SQL Server的最快,最有效的方法是使用SqlBulkCopy。 另一种方法是使用SqlDataAdapter。 我最近概述了这两种方法,并在此处进行了示例和性能比较。

您可以,但是您可以AFAIK,不允许在Web服务器上使用Excel COM Interop。 绝对不推荐使用和支持它( )。

因此,您剩下两个选择:

  1. 尝试切换到其他格式(XML,CSV)或使用Excel XML格式,您可以使用System.XML或System.XML.Linq进行读写。
  2. 查找可以读取和写入Excel二进制文件的组件。 有商业和开源组件可用。

FileHelpers for .net是一个不错的库,如果您正在寻找快速高效的内容而无需自己构建大量内容,它将为您完成很多处理。 他们有一个将Excel文件加载到您所描述的sql数据库中的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM