关于asp.net生成excel的问题

sevento11 2010-06-27 09:48:42
在asp.net中如果要生成excel,需要装上office excel
但公司里不允许在服务器上装office excel, 说是耗资源
有没有一个插件包之类的东西,装了之后就不用装完整的office excle,同时也能实现asp.net导出excel的功能?
...全文
72 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
x276912757 2010-06-28
  • 打赏
  • 举报
回复
帮顶!!!!!!!!!!!
myhope88 2010-06-28
  • 打赏
  • 举报
回复
这个还真没考虑过,帮顶下
wyq29 2010-06-28
  • 打赏
  • 举报
回复
用这个吧 http://npoi.codeplex.com/

jarod0407 2010-06-28
  • 打赏
  • 举报
回复
如果不想在服务器端装Excel的话,可以考虑用JavaScript或者VB.NET来做,只不过客户端的浏览器要允许ActiveX ,用new ActiveXObject("Excel.Application"); 创建Excel。
nlx0201 2010-06-28
  • 打赏
  • 举报
回复
不是啊,可以直接生成EXCEL的文件的,只是打不开而已
给段代码你看看
public void CreateExcel(DataSet ds, string typeid, string FileName)
{
HttpResponse resp;
resp = Page.Response;
resp.Clear();
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AddHeader("Content-Type", "application/x-xls");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8) + ".xls");
string ls_item = "";

//定义表对象与行对像,同时用DataSet对其值进行初始化
DataTable dt = ds.Tables[0];
int i = dt.Rows.Count;
// typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件
if (typeid == "1")
{
foreach (DataRow row in dt.Rows)
{
//在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
ls_item += "姓 名:" + row[2].ToString() + "\t";
ls_item += "用户名:" + row[0].ToString() + "\t";
ls_item += "密 码:" + row[1].ToString() + "\t";
ls_item += "身份证:" + row[3].ToString() + "\t";
ls_item += "单 位:" + row[4].ToString() + "\n";
resp.Write(ls_item);
ls_item = "";
}
}
else
{
//从DataSet中直接导出XML数据并且写到HTTP输出流中
resp.Write(ds.GetXml());
}
//写缓冲区中的数据到HTTP头文件中
resp.Flush();
resp.Close();
resp.End();
}
chychww 2010-06-28
  • 打赏
  • 举报
回复
如果你的程序是B/S的推荐使用HTML导成EXCEL,使用office excel的DLL进行导出的确定浪费资源,而且EXCEL导出结束后杀EXCEL进程也是件麻烦事
YnSky 2010-06-27
  • 打赏
  • 举报
回复
网上比较多的是导出HTML格式的Excel
wuyq11 2010-06-27
  • 打赏
  • 举报
回复
安装否则生成XML操作
有个myxls的库

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧