大家谁用过asp.net调用Excel打印?出现问题请教大家。

whblxl 2004-06-22 12:01:33
asp.net调用Excel打印,原文参照:
http://community.csdn.net/Expert/topic/2736/2736171.xml?temp=.2474787
我参照chenghua71(无字我心) 的文章进行了修改
myBook.Save();
myBook.Close(false, null,null);
myExcel.Quit();
改为
myBook.Saved=true;
myBook.PrintPreview(0);
myBook.Close(false, null,null);
准备在运行时进行打印预览(在delphi中就时这末做的)
运行后出现
尚未安装打印机。如需安装打印机,请指向 Windows“开始”菜单的“设置”,单击“打印机”,然后双击“添加打印机”。按照向导中的说明进行操作即可。
的错误信息,可是我明明装了打印机,为什末老时出现这个错误呢?
请大家帮我解决一下!
...全文
345 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
whblxl 2004-07-02
  • 打赏
  • 举报
回复
经过n天的搜索试验学习,最后决定用水晶报表,在这里谢谢xhunanpp(囨囚囨図),meixiaofeng(sean) ,goody9807() 三位老兄的在线技术支持,尤其是meixiaofeng(sean)
提供软件,再次深表谢意!
xhunanpp 2004-06-27
  • 打赏
  • 举报
回复
to: "作  者: whblxl (流行雨) 信 誉 值: 83 "

别人敢回答吗, 你回答了,不结帖, 咋办呢?
whblxl 2004-06-24
  • 打赏
  • 举报
回复
up
goody9807 2004-06-23
  • 打赏
  • 举报
回复
我式了一下 报权限错
whblxl 2004-06-23
  • 打赏
  • 举报
回复
up
goody9807 2004-06-23
  • 打赏
  • 举报
回复
那个权限问题 我解决了

我看了许多代码
都不是在服务器端打印 而是生成一个
Excel文件再打开 用它内部的打印
string strFileName = Environment.CurrentDirectory+@"\template\template.tpl";
string strSaveFileName = Environment.CurrentDirectory+@"\excel\"+System.DateTime.Now.ToString().Replace(":","").Replace("-","").Replace(" ","")+@".xls";
Excel.Application ThisApplication = new Excel.ApplicationClass();
Excel.Workbook ThisWorkBook;
object missing = System.Reflection.Missing.Value;
try
{
//加载Excel模板文件
ThisWorkBook = ThisApplication.Workbooks.Open(strFileName,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing);
Excel.Worksheet ThisSheet = (Excel.Worksheet)ThisWorkBook.Sheets[1];
ThisSheet.Cells[7,1] = dtEnd.ToShortDateString();
progressBar.Value = 30;
ThisApplication.Visible = false;
DataRow dr = dt.Rows[0];
for( int i=0; i<dt.Columns.Count;i++)
{
ThisSheet.Cells[7,i+2] = dr[i].ToString();
progressBar.Value +=1;
}
//更新数据后另存为新文件
ThisSheet.SaveAs(strSaveFileName,missing,missing,missing,missing,missing,missing,missing,missing);
}
catch{}
finally
{
ThisApplication.Quit();
ThisWorkBook = null;
ThisApplication = null;
//dt = null;
}
try
{ //打开刚才生成的Excel文件
Excel.Workbook NewWorkBook;
NewWorkBook = NewApplication.Workbooks.Open(strSaveFileName,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing);
Excel.Worksheet NewSheet = (Excel.Worksheet)NewWorkBook.Sheets[1];
NewApplication.Visible = true;

//也可以使用System.Diagnostics.Process.Start(strSaveFileName);来打开新文件

}
whblxl 2004-06-23
  • 打赏
  • 举报
回复
up
whblxl 2004-06-23
  • 打赏
  • 举报
回复
再那里报错呀
whblxl 2004-06-22
  • 打赏
  • 举报
回复
什末控件呀?
wg88888 2004-06-22
  • 打赏
  • 举报
回复
使用控件打印。
whblxl 2004-06-22
  • 打赏
  • 举报
回复
to anbeel(番薯好吃,但不宜多吃) 我是在本机配置的,本机安装了打印机了呀
to xaodoudou(我不想做潜水员) 我是想在客户端直接打印预览,而不是打开excel表
xaodoudou 2004-06-22
  • 打赏
  • 举报
回复
我看了前面的贴子,其实我发现最好的办法就是在客户端显示一个下载对话框,让用户选择另存还是 打开,如果打开的话,让用户自己选择打印就行了。
参考代码:
Response.Clear();
Response.ContentType ="Content-Type: application/vnd.ms-excel";//发送 HTTP 头
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename,System.Text.Encoding.UTF8));
Response.Write(...........); Response.Flush();
Response.End();
anbeel 2004-06-22
  • 打赏
  • 举报
回复
你想想,你这段代码可是在WEB SERVER上运行呀!要看WEB SERVER的打印机配置吧!
xueqs 2004-06-22
  • 打赏
  • 举报
回复
可能打印机需要客户验证,先访问一下打印机所在的机器
whblxl 2004-06-22
  • 打赏
  • 举报
回复
没人这末用过吗?
whblxl 2004-06-22
  • 打赏
  • 举报
回复
up
whblxl 2004-06-22
  • 打赏
  • 举报
回复
up
whblxl 2004-06-22
  • 打赏
  • 举报
回复
没人能解决吗?我要绝望了,思归大虾那去了?
whblxl 2004-06-22
  • 打赏
  • 举报
回复
up

62,244

社区成员

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

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

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

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