问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp.net如何把table中的内容写入到excel中

发布网友 发布时间:2022-05-15 09:12

我来回答

1个回答

热心网友 时间:2022-04-27 11:25

public static void ExportCostSummary()
{
Object Opt = System.Type.Missing;
Application m_xlApp = new Application();
Workbooks workbooks = m_xlApp.Workbooks;
Workbook workbook;
Worksheet wksheet;
workbook = m_xlApp.Workbooks.Open(System.Web.HttpContext.Current.Server.MapPath("模板excel") + ".xls", Opt, Opt, Opt, Opt, Opt, Opt, Opt, Opt, Opt, Opt, Opt, Opt, Opt, Opt); ;

m_xlApp.Visible = false; // Excel不显示
m_xlApp.DisplayAlerts = false; // 关闭提示,采用默认的方案执行(合并单元格的时候,如果两个单元格都有数据,会出现一个确认提示)
string sqltext = "select * from table ";
System.Data.DataTable dt = DBCallCommon.GetDTUsingSqlText(sqltext);

wksheet = (Worksheet)workbook.Sheets[1];//获取工作表
wksheet.Name = "导出excel-(导出日期" + DateTime.Now.ToShortDateString() + ")";//工作表名称
//设置表头居中
wksheet.get_Range(wksheet.Cells[1, 1], wksheet.Cells[1, dt.Rows.Count]).HorizontalAlignment = XlHAlign.xlHAlignCenter;
// 填充数据
object[,] dataArry1 = new object[dt.Rows.Count, 12];
for (int i = 0; i < dt.Rows.Count; i++)
{
dataArry1[i, 0] = dt.Rows[i]["Row_Num"].ToString();
dataArry1[i, 1] = dt.Rows[i]["PPL_SCZH"].ToString();
dataArry1[i, 2] = dt.Rows[i]["PPL_CPMC"].ToString();
dataArry1[i, 3] = dt.Rows[i]["PPL_WGSJ"].ToString();
dataArry1[i, 4] = dt.Rows[i]["PMS_HSJSSL"].ToString();
dataArry1[i, 5] = dt.Rows[i]["PMS_HSJS"].ToString();
dataArry1[i, 6] = dt.Rows[i]["PMS_BZJ"].ToString();
dataArry1[i, 7] = dt.Rows[i]["PMS_CNPJ"].ToString();
dataArry1[i, 8] = dt.Rows[i]["PMS_DL"].ToString();
dataArry1[i, 9] = dt.Rows[i]["PMS_GJFM"].ToString();
dataArry1[i, 10] = dt.Rows[i]["PMS_HCL"].ToString();
dataArry1[i, 11] = dt.Rows[i]["PMS_HGXJ"].ToString();
}
wksheet.get_Range("A5", wksheet.Cells[dt.Rows.Count + 4, 12]).Value2 = dataArry1;

//设置列宽
wksheet.Columns.EntireColumn.AutoFit();//列宽自适应

string filename = System.Web.HttpContext.Current.Server.MapPath(DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xls");
//下载到客户端
ExportExcel_Exit(filename, workbook, m_xlApp, wksheet);

}
private static void ExportExcel_Exit(string filename, Workbook workbook, Application m_xlApp, Worksheet wksheet)
{
try
{
System.IO.FileInfo path = new System.IO.FileInfo(filename);
workbook.SaveAs(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
workbook.Close(Type.Missing, Type.Missing, Type.Missing);
m_xlApp.Workbooks.Close();
m_xlApp.Quit();

m_xlApp.Application.Quit();

System.Runtime.InteropServices.Marshal.ReleaseComObject(wksheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(m_xlApp);

#region kill excel process

System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcessesByName("EXCEL");
foreach (System.Diagnostics.Process p in procs)
{
int baseAdd = p.MainMole.BaseAddress.ToInt32();
//oXL is Excel.ApplicationClass object
if (baseAdd == m_xlApp.Hinstance)
{
p.Kill();
break;
}
}
#endregion

wksheet = null;
workbook = null;
m_xlApp = null;

GC.Collect(); // 强制垃圾回收
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpContext.Current.Server.UrlEncode(filename));
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";// 指定返回的是一个不能被客户端读取的流,必须被下载
//System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
System.Web.HttpContext.Current.Response.WriteFile(filename); // 把文件流发送到客户端

System.Web.HttpContext.Current.Response.Flush();
path.Delete();//删除服务器文件
}
catch (Exception e)
{
throw e;
}
}追问可不可以用一种方法,直接将页面中的table表给打印啊!谢谢你的回答

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 跪求c#编一个小游戏的代码 求一个简单html游戏代码 如何利用jquery实现互换元素 在js中通过一个点击按钮来实现位置的转换,比如有2个div,一个有字,一 现在买卖一次基金的费率是多少? 上大美院油画系和中国美院油画系哪个好 央美,清美,国美,哪个学校油画系研究生导师最好?为什么? 油画专业哪些大学好,油画专业最好的大学? 拿到一篇小学语文课文该怎样快速设计教学过程? 将来想学油画专业 哪个美院比较好? 中国的八大 还是外国的四大? 中国哪个美术学院最好? 如何从教学内容,教学设计流程 清华美院和央美油画系哪个更好? 怎样设计教案,确定一堂课的教学过程和环节 中央美术学院和中国美术学院哪个好? 山东艺术学院 山东工艺美院 油画专业 哪个学校好啊! 我孩子今年高考美术,他只想学油画专业,请问八大美院中哪几所最好,谢谢 全国除了八大美院还有哪些学校油画系比较好的? 油画专业哪些大学好?油画专业最好的大学 中央美院,中国美院,清华美院哪个油画系教得好? 马年带钰的男孩名字 济南学习平面设计哪家好 山东济南克莱教育靠谱吗 钰琛男孩名字合适吗 济南有哪些知名的平面或广告设计公司 我是学广告设计专业的,有两年工作经验,想去舜风传播工作,请问好进吗? 姓宋最后一个字是钰的男孩名字 济南大学文学院的传播教学系机构设置及简介 济南技师学院的毕业证有用吗,我学的是广告制作,各种软件都只是学了皮毛,去做这行肯定不行 济南乐学易考靠谱吗 山东艺术设计学院是骗钱的吗?! 姓侯辈份是钰的男孩名字大全 青岛跟济南哪里的设计公司多 我在网上买了口罩我到莱鸟驿站去取,扫了取件码等了很久都没有拿到货我就走了_百度问一问 javascript下将两个独立的div模块交换位置求解 在学校与家庭合理的伦理关系,教师应发挥何种作用? 在学校与家庭合理的伦理关系的建立中教师应发挥何种作用? 在家校和家庭合作的伦理关系中教师应发挥何种作用? 在家校与家庭合理的伦理关系的建立中教师应发挥何种作用? 家庭伦理道德观的名人名言