如何直接从.net应用程序创buildExcel表格数据?

我想使用C#语言从asp.net应用程序创buildExcel表单。

请回复我如何创build它,如果有源代码。 我不知道如何创build它。

另外我想在列的下拉列表中。 我们如何做到这一点。

请回复我的紧急….

问候,Girish

您可以使用Excel COM对象在ASP.NET中创buildExcel工作表。

试试这个链接 。

尝试传播Sheet Gear第三方组件

http://www.spreadsheetgear.com/

您的问题的两个基本方法是使用ADO.NET或使用system.xml库。 如果使用XML,则将创build基于XML的Office 2007格式文件(以及读/写),而使用ADO.NET则需要现有文件afaik。

我build议使用上面build议的库来处理它作为XML文件,并将其作为基于XLSX / XLSM的文件分发。 即使用户在Office 2003上,他们也可以使用兼容性来打开这些文件(从Microsoft下载)。

另一个选项(使用第三方组件)是SmartXLS 。

我正在使用ExcelPackage库,它使用了Office 2007中的OpenXML标准文件格式,可以很轻松地从C#或VB.NET应用程序中轻松创build自己的Excel表单。

警告之词 :我注意到CodePlex上的ExcelPackage实际上是以相当严格的GPL许可证授权的 ,这使得它几乎不适用于任何人,而不是爱好者。 如果你使用它,你将不得不透露你生成的东西的所有源代码。

它可能看起来像这样:

 using OfficeOpenXml; // namespace for the ExcelPackage assembly FileInfo newFile = new FileInfo(@"C:\mynewfile.xlsx"); using (ExcelPackage xlPackage = new ExcelPackage(newFile)) { ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets.Add("Tinned Goods"); // write some titles into column 1 worksheet.Cell(1, 1).Value = "Product"; worksheet.Cell(4, 1).Value = "Peas"; worksheet.Cell(5, 1).Value = "Total"; // write some values into column 2 worksheet.Cell(1, 2).Value = "Tins Sold"; ExcelCell cell = worksheet.Cell(2, 2); cell.Value = "15"; // tins of Beans sold string calcStartAddress = cell.CellAddress; // we want this for the formula worksheet.Cell(3, 2).Value = "32"; // tins Carrots sold worksheet.Cell(5, 2).Formula = string.Format("SUM({0}:{1})", calcStartAddress, calcEndAddress); } 

完全免费,可用的源代码,不需要在运行它的机器上安装Office(例如,您的Web服务器),不需要缓慢而杂乱的COM互操作 – 它就像一个魅力! 非常强烈推荐。

渣子

另一个选项(没有第三方工具)将Excel工作簿视为ADO.NET数据源。 参考: http : //support.microsoft.com/kb/316934

一个OpenSource Excel导出库 。

http://excelexportlib.codeplex.com/

另一个OpenSource Excel导出库 。

http://xmlspreadgear.codeplex.com/