MVC如何用Aspose.Word导出Word报表
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,小编给大家分享一下MVC如何用Aspose.Word导出Word报表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.首先
千家信息网最后更新 2025年02月03日MVC如何用Aspose.Word导出Word报表
小编给大家分享一下MVC如何用Aspose.Word导出Word报表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1.首先就是引用该插件
2.填充Word模版
3.后台操作
private ListQuaterAirPM10AvgVolReport(string stns, DateTime start, DateTime end, Aspose.Words.DocumentBuilder builder, out DataTable dt, out List widthList,string isMax) { dt = QuaterPM10AvgVol (stns, start, end,isMax); widthList = new List (); double[] colWidth = new double[] { 50, 118, 117, 50, 118, 117 }; string[] colName = new string[] { "排序", "城市", start.Year + "年" + start.Month + "~"+end.Month+"月浓度(μg/m3)", "排序", "城市", "较" + start.AddYears(-1).Year + "年同期增幅" }; builder.MoveToBookmark("table3"); Aspose.Words.Tables.Table table = builder.StartTable();//开始画Table builder.InsertCell(); builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Borders.Color = System.Drawing.Color.Black; builder.CellFormat.VerticalMerge = CellMerge.First; builder.CellFormat.Width = 285; builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; // builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center; builder.Write("按平均浓度排序"); builder.InsertCell(); builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Borders.Color = System.Drawing.Color.Black; builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; // builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center; builder.CellFormat.VerticalMerge = CellMerge.None; builder.CellFormat.Width = 285; builder.Write("按" + start.AddYears(-1).Year + "年同期增幅排序"); builder.EndRow(); AsposeCreateCell(builder, colWidth[0], colName[0]); AsposeCreateCell(builder, colWidth[1], colName[1]); AsposeCreateCell(builder, colWidth[2], colName[2]); AsposeCreateCell(builder, colWidth[3], colName[3]); AsposeCreateCell(builder, colWidth[4], colName[4]); AsposeCreateCell(builder, colWidth[5], colName[5]); builder.EndRow(); //开始添加值 for (var i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["CityName"] == "12个考核地市" || dt.Rows[i]["CityName"] == "全省") { builder.InsertCell();builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Borders.Color = System.Drawing.Color.Black; builder.CellFormat.VerticalMerge = CellMerge.First; builder.CellFormat.Width = 168;builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; builder.Write(dt.Rows[i]["CityName"].ToString()); builder.InsertCell();builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Borders.Color = System.Drawing.Color.Black;builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; builder.CellFormat.VerticalMerge = CellMerge.None; builder.CellFormat.Width = 117; builder.Write(dt.Rows[i]["PM10ATI"].ToString()); builder.InsertCell();builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Borders.Color = System.Drawing.Color.Black;builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; builder.CellFormat.VerticalMerge = CellMerge.None; builder.CellFormat.Width = 168; builder.Write(dt.Rows[i]["qnCityName"].ToString()); builder.InsertCell();builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Borders.Color = System.Drawing.Color.Black;builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; builder.CellFormat.VerticalMerge = CellMerge.None; builder.CellFormat.Width = 117; builder.Write(dt.Rows[i]["tqbh"].ToString() + "%"); } else { AsposeCreateCell(builder, colWidth[0], dt.Rows[i]["Sort"].ToString()); AsposeCreateCell(builder, colWidth[1], dt.Rows[i]["CityName"].ToString()); AsposeCreateCell(builder, colWidth[2], dt.Rows[i]["PM10ATI"].ToString()); AsposeCreateCell(builder, colWidth[3], dt.Rows[i]["qnSort"].ToString()); AsposeCreateCell(builder, colWidth[4], dt.Rows[i]["qnCityName"].ToString()); AsposeCreateCell(builder, colWidth[5], dt.Rows[i]["tqbh"].ToString() + "%"); } builder.EndRow(); } builder.EndTable(); return widthList; }
其中有几个注意的地方 builder.CellFormat.VerticalMerge = CellMerge.None;CellMerge是枚举类型,经常用到画复杂的表格,或者是合并单元格。还有First和Previous。先要得到DataTable数据,最后对数据进行操作就行了。
4.输出文档
public JsonResult QuaterResponse() { bool result; string quarter = Request["quarter"].ToString(); string stns = Request["stns"].ToString(); string isMax = Request["ismax"].ToString(); DateTime startTime = Convert.ToDateTime(Request["startdate"]); DateTime endTime = Convert.ToDateTime(Request["enddate"]); string tmppath = Server.MapPath("~/Document/Model/QuaterReport.docx"); string path = Server.MapPath("~/Document/Export/QuaterReport.doc"); Aspose.Words.Document doc = new Document(tmppath); Aspose.Words.DocumentBuilder builder = new DocumentBuilder(doc); doc.Range.Bookmarks["title"].Text = startTime.Year+"年"+quarter+"湖北省环境空气质量监测情况综述"; doc.Range.Bookmarks["title1"].Text = "表1 "+quarter+"空气质量等级"; doc.Range.Bookmarks["title2"].Text = "表2" +quarter+"优良天数达标率情况表"; doc.Range.Bookmarks["title3"].Text = "表3 "+quarter+"空气可吸入颗粒物(PM10)平均浓度情况表"; doc.Range.Bookmarks["title4"].Text = "表4 "+quarter+"空气可吸入颗粒物(PM2.5)平均浓度情况表"; doc.Range.Bookmarks["title5"].Text = "表5"+quarter+" 境空气气态污染物平均浓度情况表"; doc.Range.Bookmarks["title6"].Text = "表6 "+quarter+"环境空气质量综合指数情况表"; DataTable dt; ListwidthList; try { doc.Range.Bookmarks["table1"].Text = ""; // 清掉标示 QuaterAirPerencetReport( stns, startTime, endTime, builder, out dt, out widthList,isMax); doc.Range.Bookmarks["table2"].Text = ""; QuaterAirYldblReport(stns, startTime, endTime, builder,quarter, out dt, out widthList,isMax); doc.Range.Bookmarks["table3"].Text = ""; QuaterAirPM10AvgVolReport(stns, startTime, endTime, builder, out dt, out widthList,isMax); doc.Range.Bookmarks["table4"].Text = ""; QuaterAirPM25AvgVolReport(stns, startTime, endTime, builder, out dt, out widthList,isMax); doc.Range.Bookmarks["table5"].Text = ""; QuaterOtherAvgVolReport(stns, startTime, endTime, builder, out dt, out widthList,isMax); doc.Range.Bookmarks["table6"].Text = ""; QuaterZHIndexReport(stns, startTime, endTime, builder, out dt, out widthList,isMax); doc.Save(path, Aspose.Words.SaveFormat.Doc); // System.Diagnostics.Process.Start(path);//打开文档 // return View("QuaterReport"); result = true; } catch (Exception) { result = false; } return Json(result); }
以上是"MVC如何用Aspose.Word导出Word报表"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
情况
空气
情况表
浓度
排序
空气质量
篇文章
质量
报表
内容
可吸入颗粒物
城市
增幅
数据
文档
环境
复杂
不怎么
全省
单元
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2012服务器磁盘无法分区
彩六异种连接服务器
观看网络安全警示教育心得体会
网络安全的作文400字五年级
网络安全产品国产化文件
知奥网络技术江苏
黑龙江共青团网络安全答案
服务器命令方块指令
mir4服务器哪里查看
监控中心管理服务器定额
福州财务软件开发
数据库计算机二级考试
上海赛灏互联网科技
读大专计算机网络技术好吗
网络安全十大课程
北京第六天网络技术有限公司
网络安全靠人民用英语怎么说
软件开发过程中失败的故事
怀旧服什么服务器适合新手
浙江常规软件开发厂家价格
最快服务器
hp580服务器
软件开发项目中的阀值
王协瑞网络技术基础
电网安全风险数据库
山西网络安全等级保护会议
济宁联想服务器代理电话
软件开发测试时文件路径
现在网络安全最好的软件
关于网络安全学习内容