我想使用C#语言从asp.net应用程序创建Excel表。
如何直接从.net应用程序创建Excel表格数据?
请回复我如何创建它,如果有源代码。我不知道如何创建它。
另外我想列在其中的一个下拉列表。我们如何做到这一点。
请回复我的迫切....
问候, 吉里什
我想使用C#语言从asp.net应用程序创建Excel表。
如何直接从.net应用程序创建Excel表格数据?
请回复我如何创建它,如果有源代码。我不知道如何创建它。
另外我想列在其中的一个下拉列表。我们如何做到这一点。
请回复我的迫切....
问候, 吉里什
我使用ExcelPackage库,使用从Office 2007的OpenXML标准文件格式,使得它可以很容易地创建您的自己的Excel表格从你的C#或VB.NET应用程序很少的努力。
警告字:它已经到了我的注意(我没有给予足够的重视这一事实),其在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);
}
完全免费的,可提供源,不需要办公室的机器上安装运行(如Web服务器),没有慢而凌乱的COM互操作 - 它就像一个魅力!非常强烈推荐。
Marc
您可以使用Excel COM对象在ASP.NET中创建Excel工作表。
试试这个link。
试试算表齿轮第三方组件
另一种选择(没有第三方工具)是把Excel工作簿的ADO.NET数据源。 Ref .: http://support.microsoft.com/kb/316934
您的问题的两种基本方法是使用ADO.NET或使用system.xml库。 如果您使用XML,您将创建基于XML的Office 2007格式文件(以及读取/写入),而使用ADO.NET则需要现有文件afaik。
我建议使用上面建议的库来处理它作为XML文件,并将其作为基于XLSX/XLSM的文件分发。 即使用户在Office 2003上,他们也可以使用兼容性来打开这些文件(从Microsoft下载基本文件)。
另一种选择(使用第三方组件)是SmartXLS。
当心ExcelPackage似乎得到成倍慢你写越来越多的行到电子表格。有谁阅读知道为什么? – Triynko 2010-05-27 21:11:32