我想使用C#语言从asp.net应用程序创建excel表。
请回复我如何创建它以及是否有源。我不知道如何创建它。
另外,我想在其中一列中下拉列表。我们如何做到这一点。
请回复我的紧急情况....
此致 Girish
答案 0 :(得分:1)
我正在使用ExcelPackage库,该库使用Office 2007中的OpenXML标准文件格式,并且很容易为您的C#或VB.NET应用程序创建自己的Excel工作表而不费力。
WORD OF WARNING :我注意到了(我对此事实没有给予足够的重视)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(例如你的网络服务器),没有缓慢而混乱的COM互操作 - 它就像一个魅力!非常强烈推荐。
马克
答案 1 :(得分:1)
您可以使用Excel COM对象在ASP.NET中创建Excel工作表。
试试这个link。
答案 2 :(得分:1)
尝试传播Sheet Gear第三方组件
答案 3 :(得分:1)
您的问题的两个基本方法是使用ADO.NET或使用system.xml库。 如果您使用XML,您将创建基于XML的Office 2007格式文件(以及读/写),而使用ADO.NET,您将需要一个现有文件,afaik。
我建议使用上面建议的库将其作为XML文件使用,并将其作为基于XLSX / XLSM的文件进行分发。 即使用户在Office 2003上,他们也可以使用兼容性来打开此类文件(从Microsoft基本下载)。
答案 4 :(得分:1)
另一个选项(使用第三方组件)是SmartXLS。
答案 5 :(得分:0)
另一个选项(没有第三方工具)将Excel工作簿视为ADO.NET数据源。 参考:http://support.microsoft.com/kb/316934
答案 6 :(得分:0)
OpenSource Excel export library。
http://excelexportlib.codeplex.com/
另一个OpenSource Excel export library。