ASP.NET 导出EXCEL 需要使用模板或是合并单元格 服务器不能安装office 如题服务器上不能安装Office,所以不能调用com组件,除了做个winform来获取数据本地生成外,还有什么办法。请给出详细代码或连接网页地址,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用水晶报表,但是不知道服务器没安装office导出会不会有影响应该没关系或者用table布局。 用table布局怎么弄。请详细点。 不装office那就把Interop.Excel.dll Interop.Office.dll Interop.VBIDE.dll这3个dll引用到项目里去。用这3个,就可以创建EXCEL对象;再调用相关方法,实现对excel的操作至于模板,跟装不装office就没关系了,就把它当做一般性文档,来做文件的复制、移动、删除操作就是了附个例子下面是一个简单的例子,打开一个定义好的Excel文件,这个文件是作为报表的模板,然后向模板的指定格子里填充数据,形成一个报表,在web方式下可以按照指定的命名方式在服务器上生成一个excel文件,之后传送到客户端,由客户端启动excel进行打印。 Excel.Application m_objExcel = null;Excel._Workbook m_objBook = null;Excel.Sheets m_objSheets = null;Excel._Worksheet m_objSheet = null;Excel.Range m_objRange = null; object m_objOpt = System.Reflection.Missing.Value;try{ m_objExcel = new Excel.Application();m_objBook = m_objExcel.Workbooks.Open("z:\\Book1.xls", m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt); m_objSheets = (Excel.Sheets)m_objBook.Worksheets; m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1)); string[] info = new string[5] { "Cure", "26", "dahuzizyd.cnblogs.com", "汉", "按时 ?放奥斯丁奥斯丁非是否奥斯丁非" }; m_objRange = m_objSheet.get_Range("B1", m_objOpt); m_objRange.Value = info[0]; m_objRange = m_objSheet.get_Range("E1", m_objOpt); m_objRange.Value = info[1]; m_objRange = m_objSheet.get_Range("B2", m_objOpt); m_objRange.Value = info[2]; m_objRange = m_objSheet.get_Range("E2", m_objOpt); m_objRange.Value = info[3]; m_objRange = m_objSheet.get_Range("A3", m_objOpt); m_objRange.Value = info[4]; m_objExcel.DisplayAlerts = false; m_objBook.SaveAs("z:\\Book2.xls", m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange, m_objOpt, m_objOpt, m_objOpt, m_objOpt); }catch (Exception ex){ MessageBox.Show(ex.Message);}finally{ m_objBook.Close(m_objOpt, m_objOpt, m_objOpt); m_objExcel.Workbooks.Close(); m_objExcel.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook); System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel); m_objBook = null; m_objExcel = null; GC.Collect();} 其实就是,你想办法组装一个Html的表格,然后将这个html表格的代码Response.Write到Excel保存即可所以问题的关键是如何用程序构建这个html表格这个解决了你的问题也就解决了 用microsoft reportview做个简单的报表,然后就可以打印了。 你直接生成一个html表格table,格式和excel一样,然后把这个页面导出成excel文件格式就行了 楼主 有这样demo没有?能共享不? 这样不需要在服务器安装office???? 配置文件问题(读不了app.config文件) 在读取设置过域名的cookie时,是否仍然要设置读取cookie的域名? 问大家个问题。。。 如何把SQL SERVER数据库中的图片数据取出来并显示到网也中的IMAGE控件上? petshop 请问哪里有asp.net的视频教学 datagrid控件的问题 net网站问题,没有学过net。请大家帮忙 请教一个简单的问题! 请问大侠,我在Windows 2000 server中将IIS卸掉重装,,net就不能用了,怎么解决? 请问如何在web控件中调用javascript函数? 搜索引擎
应该没关系或者用table布局。
下面是一个简单的例子,打开一个定义好的Excel文件,这个文件是作为报表的模板,然后向模板的指定格子里填充数据,形成一个报表,在web方式下可以按照指定的命名方式在服务器上生成一个
excel文件,之后传送到客户端,由客户端启动excel进行打印。
Excel.Application m_objExcel = null;
Excel._Workbook m_objBook = null;
Excel.Sheets m_objSheets = null;
Excel._Worksheet m_objSheet = null;
Excel.Range m_objRange = null;
object m_objOpt = System.Reflection.Missing.Value;
try
{
m_objExcel = new Excel.Application();
m_objBook = m_objExcel.Workbooks.Open("z:\\Book1.xls", m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));
string[] info = new string[5] { "Cure", "26", "dahuzizyd.cnblogs.com", "汉", "按时 ?放奥斯丁奥斯丁非是否奥斯丁非" };
m_objRange = m_objSheet.get_Range("B1", m_objOpt);
m_objRange.Value = info[0];
m_objRange = m_objSheet.get_Range("E1", m_objOpt);
m_objRange.Value = info[1];
m_objRange = m_objSheet.get_Range("B2", m_objOpt);
m_objRange.Value = info[2];
m_objRange = m_objSheet.get_Range("E2", m_objOpt);
m_objRange.Value = info[3];
m_objRange = m_objSheet.get_Range("A3", m_objOpt);
m_objRange.Value = info[4];
m_objExcel.DisplayAlerts = false;
m_objBook.SaveAs("z:\\Book2.xls", m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
m_objOpt, m_objOpt, m_objOpt, m_objOpt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
m_objBook.Close(m_objOpt, m_objOpt, m_objOpt);
m_objExcel.Workbooks.Close();
m_objExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
m_objBook = null;
m_objExcel = null;
GC.Collect();
}
其实就是,你想办法组装一个Html的表格,然后将这个html表格的代码Response.Write到Excel保存即可
所以问题的关键是如何用程序构建这个html表格
这个解决了你的问题也就解决了
这样不需要在服务器安装office????