asp.net打开一个excel模板,里面填入一些数据后,生成一个新的excel

bfzxwlll 2012-02-16 09:03:25
有偿求代码:

我要用c#实现:asp.net打开一个excel模板文件如123.xls,里面填入一些数据后,最后保存成一个新的excel文件如345.xls

我在写代码时,在最后一步杀死excel进程时,出现问题.


我的开发环境是:win2003 + vs2008 + c# + asp.net

联系qq 58503239

非常感谢,诚心请教,问题若解决,网上银行付款100元辛苦费.
...全文
230 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bfzxwlll 2012-02-17
  • 打赏
  • 举报
回复
谢谢各位的帮助,根据1楼的提示,我用NPOI实现了.

将两个NPOI dll引用后,写如下代码:

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

//

using System.IO;

//
using NPOI.HSSF.UserModel;
using NPOI.HPSF;
using NPOI.POIFS.FileSystem;
using NPOI.SS.UserModel;






public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}


protected void Button2_Click(object sender, EventArgs e)
{


FileStream file = new FileStream(Server.MapPath("template/") + "a.xls", FileMode.Open, FileAccess.Read);
HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);
file.Close();
ISheet sheet1 = hssfworkbook.GetSheet("Sheet1");

if (sheet1.GetRow(23) == null)
{
sheet1.CreateRow(23);
}
if (sheet1.GetRow(23).GetCell(6) == null)
{
sheet1.GetRow(23).CreateCell(6);
}

sheet1.GetRow(23).GetCell(6).SetCellValue(300);

sheet1.ForceFormulaRecalculation = true;
FileStream file2 = new FileStream(Server.MapPath("template/") + "ccc.xls", FileMode.Create, FileAccess.Write);
hssfworkbook.Write(file2);
file2.Close();

}
}
加油馒头 2012-02-16
  • 打赏
  • 举报
回复
插件。。
CMIC 2012-02-16
  • 打赏
  • 举报
回复
同意楼上的,最好不使用office组件, 我现在用EPPlus,开源的,比较好用。 epplus.codeplex.com
wanghui0380 2012-02-16
  • 打赏
  • 举报
回复
通常不使用依赖office组件的解决方案

我们通常使用nopi,offciexml,或其他不依赖office的方案

如果不规定环境,我个人通常使用TMS Flexcel Studio for .NET 这个东西,可以支持模板,支持Datatable直接绑定,当然他的环境是office2003文件格式

如果指定office2007以上,通常是使用officexml直接输出了

62,046

社区成员

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

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

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

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