在我正在进行的这个项目中,最新的功能请求之一是输出费用信息,该信息存储在费用报告中,该费用报告与他们已用于所有费用报告的Excel工作表相匹配。
我很好奇是否有办法让我可以使用这个excel工作表(已完成所有布局)并只填写我们系统跟踪的部分,然后将其作为.xls文件提供给用户无需执行Excel Automation或任何其他需要在服务器上安装Excel的方法。
注意:开发环境是ASP.NET 2.0
答案 0 :(得分:3)
我很确定你可以使用OleDB打开excel文件(使用模板)
示例1
string ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\Test Projects\Excel example\Excel - reading an excel file\ReadThis.xls;
Extended Properties=Excel 5.0";
//Create the connection
System.Data.OleDb.OleDbConnection ExcelConnection = new System.Data.OleDb.OleDbConnection(ConnectionString);
示例2
string filename = @"C:\testdata.xls";
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + filename + ";" +
"Extended Properties=Excel 8.0;";
OleDbConnection objConn = new OleDbConnection(connectionString);
objConn.Open();
OleDbCommand ObjCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);
OleDbDataAdapter objAdp = new OleDbDataAdapter();
objAdp.SelectCommand = ObjCommand;
DataSet myDataSet = new DataSet();
objAdp.Fill(myDataSet);
DataTable dataTable = myDataSet.Tables["Sheet1$"];
打开连接后,您应该可以随意阅读和写入!
答案 1 :(得分:1)
您可以尝试使用Spire.XLS(http://www.e-iceblue.com/xls/xlsintro.htm)
它不是免费的,但在阅读和创建XLS文档方面做得很好,而无需在服务器上安装Excel。
答案 2 :(得分:1)
我这样做的一种方法是使用Office XML生成文档。由于您具有文档需要的特定格式,事情可能会有点困难,但我之前做过的事情是将需要在报表上显示的数据导出到XML文件(保存在磁盘或内存中,然后应用XSL转换将事物转换为Excel可以加载的格式正确的文档。作为参考,这里有一些链接:
答案 3 :(得分:0)
尝试Aspose.Cells - 这对此非常有用。
答案 4 :(得分:0)
Telerik RAD Grid for Asp.NetAJAX具有很好的Excel导出功能。
答案 5 :(得分:0)
另外两个解决方案是:
我必须说我对其中任何一个都没有经验...但它们听起来像JET.OLEDB提供者旁边的固体替代品和通过Xsl的Xml-to-Excel(我以前都使用过)克里斯和罗布提到。
只是想在你的路上帮助你,并提一些替代方案(我不指望多少点:))
答案 6 :(得分:0)
虽然这不会处理现有的电子表格,但生成Excel文件的一种非常简单且低技术的方法是创建具有正确内容类型的html文件并使用.xls扩展名。当Excel(在客户端上)打开文件时,它被视为本机电子表格。
示例:
<html>
<head>
<meta http-equiv="Content-Type" content="application/vnd.ms-excel" />
<title></title>
</head>
<body>
<table>
<tr>
<td><b>Forename</b></td>
<td><b>Gender</b></td>
</tr>
<tr>
<td>Simon</td>
<td>Male</td>
</tr>
<tr>
<td>Katy</td>
<td>Female</td>
</tr>
</table>
</body>
</html>
警告:当然,您不会在真实文件中包含所有缩进和间距!我正在使用Excel 2003。
这种技术的另一个小优点是这些文件生成效率非常高。
缺点:我没有办法将html转换成多个工作表,或者做任何特别技术性的事情。