Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
//让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写
excel.Visible = false; //新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错
Microsoft.Office.Interop.Excel.Workbooks workbooks = excel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet2 = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
worksheet2.Cells.Font.Size = "10";
worksheet2.Cells.Font.Bold = true;
#region 生成品质管理物料视图中列头名称
worksheet2.Name = "品质管理物料视图";
worksheet2.Cells[1, 1] = "产品标识码";
worksheet2.Cells[1, 2] = "批号";
worksheet2.Cells[1, 3] = "物料编码";
worksheet2.Cells[1, 4] = "物料描述";
worksheet2.Cells[1, 5] = "物料类型";
worksheet2.Cells[1, 6] = "工厂";
worksheet2.Cells[1, 7] = "最小剩余货架寿命";
worksheet2.Cells[1, 8] = "批次管理";
#endregion
for (int i = 0; i < ds.Rows.Count; i++)
{
DataRow dr = ds.Rows[i];
worksheet2.Cells[i + 2, 1] = "'" + dr["CPBM"].ToString().Trim();
worksheet2.Cells[i + 2, 2] = "'" + dr["PH"].ToString().Trim();
worksheet2.Cells[i + 2, 3] = "'" + dr["WLBMID"].ToString().Trim();
worksheet2.Cells[i + 2, 4] = "'" + dr["WLMS"].ToString().Trim();
worksheet2.Cells[i + 2, 5] = "'" + dr["WLLX"].ToString().Trim();
worksheet2.Cells[i + 2, 6] = "'" + dr["GC"].ToString().Trim();
worksheet2.Cells[i + 2, 7] = "'" + dr["SYHJSM"].ToString().Trim();
worksheet2.Cells[i + 2, 8] = "'" + dr["PCGL"].ToString().Trim();
}
worksheet2.Columns.AutoFit();
//设置禁止弹出保存和覆盖的询问提示框
excel.DisplayAlerts = false;
excel.AlertBeforeOverwriting = false;
workbook.Saved = true;
string fileName =Request["CPBM"].Trim()+"产品物料.xls";
workbook.SaveAs();
workbook.SaveCopyAs(Server.MapPath("~/WLQdPzgl/Excel/"+fileName));
//确保Excel进程关闭
excel.Quit();
excel = null;
Page.ClientScript.RegisterStartupScript(GetType(), "Error", "alert('成功导出物料视图!');", true); 我想把红色部分的代码 改成 保存到本地电脑的操作、比如 保存到 自己电脑的桌面
//让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写
excel.Visible = false; //新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错
Microsoft.Office.Interop.Excel.Workbooks workbooks = excel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet2 = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
worksheet2.Cells.Font.Size = "10";
worksheet2.Cells.Font.Bold = true;
#region 生成品质管理物料视图中列头名称
worksheet2.Name = "品质管理物料视图";
worksheet2.Cells[1, 1] = "产品标识码";
worksheet2.Cells[1, 2] = "批号";
worksheet2.Cells[1, 3] = "物料编码";
worksheet2.Cells[1, 4] = "物料描述";
worksheet2.Cells[1, 5] = "物料类型";
worksheet2.Cells[1, 6] = "工厂";
worksheet2.Cells[1, 7] = "最小剩余货架寿命";
worksheet2.Cells[1, 8] = "批次管理";
#endregion
for (int i = 0; i < ds.Rows.Count; i++)
{
DataRow dr = ds.Rows[i];
worksheet2.Cells[i + 2, 1] = "'" + dr["CPBM"].ToString().Trim();
worksheet2.Cells[i + 2, 2] = "'" + dr["PH"].ToString().Trim();
worksheet2.Cells[i + 2, 3] = "'" + dr["WLBMID"].ToString().Trim();
worksheet2.Cells[i + 2, 4] = "'" + dr["WLMS"].ToString().Trim();
worksheet2.Cells[i + 2, 5] = "'" + dr["WLLX"].ToString().Trim();
worksheet2.Cells[i + 2, 6] = "'" + dr["GC"].ToString().Trim();
worksheet2.Cells[i + 2, 7] = "'" + dr["SYHJSM"].ToString().Trim();
worksheet2.Cells[i + 2, 8] = "'" + dr["PCGL"].ToString().Trim();
}
worksheet2.Columns.AutoFit();
//设置禁止弹出保存和覆盖的询问提示框
excel.DisplayAlerts = false;
excel.AlertBeforeOverwriting = false;
workbook.Saved = true;
string fileName =Request["CPBM"].Trim()+"产品物料.xls";
workbook.SaveAs();
workbook.SaveCopyAs(Server.MapPath("~/WLQdPzgl/Excel/"+fileName));
//确保Excel进程关闭
excel.Quit();
excel = null;
Page.ClientScript.RegisterStartupScript(GetType(), "Error", "alert('成功导出物料视图!');", true); 我想把红色部分的代码 改成 保存到本地电脑的操作、比如 保存到 自己电脑的桌面
解决方案 »
- C# 里面的DataView 通过RowFilter过滤,出现奇怪的错误
- 去哪里查常用集合类的数据结构
- c# 分析字符串
- 延时问题
- 这个问题我没有头绪
- 关于sqlconnection的问题,请帮忙
- c# winform datagrid 中如何用命令一次删除所有的行?在线等待。。。
- Unix的compress/uncompress兼容的压缩/解压算法(非SharpZipLib/ZLIB/GZipStream/java.util.zip)
- 请问:如何在C#中取字符的ASC码,如何由ASC码返回字符
- 好消息-----------C#知识库下载!
- 如何快速大量自动操作网站?
- 用vs自带工具制作的winform安装包,安装和卸载时都提示正在安装其他程序
{
if (!isExit)//保存路径是否存在
File.Copy(System.Windows.Forms.Application.StartupPath + @"\Excel\Excel.xls", savePath);
_Excel.Application app = new _Excel.ApplicationClass();http://blog.csdn.net/happy09li/article/details/7431967看导出部分
我做的是c# web开发, 而且你那是直接指定路劲了、是保存在服务器端,
我要的是 怎么把Execl 保存到 本地电脑上
Response.Buffer = true;
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
Response.WriteFile(Server.MapPath("~/WLQdPzgl/Excel/"+fileName));
Response.Flush();
Response.End();