100分求救一个Asp.net处理Excel表格问题

foxd 2008-05-15 08:41:16
我的需求如下:
有几个现成的具有固定格式的Excel空白表格,我准备放在服务器网站的指定根目录中。通过客户端访问该网站时,希望能将计算后得到的数据自动分别填写入这几个Excel表格,然后供客户端存档、打印之用。当有多人访问网站时,每次都可以先获取空白表格,然后填入数据,而不能张三先将空白的Excel表格填入了数据,李四要获取Excel表格填写数据时得到的确实张三已填入数据的Excel表格,也就是说,大家填写Excel表格时面对的都是空白的表格,彼此互不干扰。
请教各位该如何来实现此需求呢?谢谢!
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hy_lihuan 2008-05-16
  • 打赏
  • 举报
回复
第一,不需要一张空白的excel文件把,如果是文件的话你在读取过程中其他人是无权访问修改的,你还不如直接就写一个方法去定义并输出这个文件;
第二,浏览打印?在网络上进行吗?别人没有安装excel怎么办呢?你怎么去打开别人的程序来查看呢?
像这样的模块一般都是设计成两块的吧,一块是网上的浏览数据,怎么表现的问题;一块是怎么使用程序生成文件流输出提供下载;至于生成excel文件上面有事例代码了,其实比较简单的办法就是动态生成html表格存成xls就可以了
King-zi 2008-05-15
  • 打赏
  • 举报
回复
在4楼的基础上在补加一些
http://blog.csdn.net/zjclugger/archive/2008/04/02/2245559.aspx
(在.net中如何关闭Excel进程)
事实证明,即使按上述方法做了也有不能关闭excel的情况,不过现在大多情况下都使用这类方法,大家继续讨论啦
zdjray 2008-05-15
  • 打赏
  • 举报
回复
可以参考下面的简单写法:
中间的missing参数值可以查资料修改

Microsoft.Office.Interop.Excel.Application app = null;
Excel.Workbook workbook = null;
Excel.Worksheet worksheet = null;
protected object missing = Missing.Value;
try
{
String templatePath = "你的xls文件地址";

//创建一个Application对象并使其可见
app = new Excel.ApplicationClass();
app.Visible = true;

//打开模板文件,得到WorkBook对象
workbook = app.Workbooks.Open(templatePath, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing, missing);

//得到WorkSheet对象
worksheet = (Excel.Worksheet)workbook.Sheets[1];

for (int i = 1; i <= 50; i++)
{
//在这里对每一个格子进行填充
worksheet.Cells[i, 4] = 2;
}

//打印预览
worksheet.PrintPreview(missing);
}
finally
{
//垃圾收集
workbook.Close(false, missing, missing);
app.Workbooks.Close();
app.Quit();

System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);

app = null;
worksheet = null;
workbook = null;

//强行销毁
GC.Collect();
}
周公 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 stayalive 的回复:]
把空白Excel当数据源,把计算的数据填充进去(不要更新,一更新就把空白Excel写进去数据了),另外保存。
[/Quote]
同意这种做法。
stayalive 2008-05-15
  • 打赏
  • 举报
回复
把空白Excel当数据源,把计算的数据填充进去(不要更新,一更新就把空白Excel写进去数据了),另外保存。
yagebu1983 2008-05-15
  • 打赏
  • 举报
回复
帮你顶!!

62,047

社区成员

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

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

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

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