根据EXCEL模板填充数据
string OutFileName = typeName+"重点源达标率" + DateTime.Now.ToString("yyyy-MM-dd"); string templateName = "keySources_template.xml"; DataTable dsData = dal.T_StanderEvaluateData_DefaultListPR(parameterList.ToArray()); if (null == dsData||dsData.Rows.Count<1) return; int intColCount = dsData.Columns.Count; int intRowCount = dsData.Rows.Count;
//构造EXCLE字符串 System.IO.StreamWriter sw = new System.IO.StreamWriter(this.Server.MapPath("..") + "\\temp\\" + OutFileName + ".xls"); string filePath = this.Server.MapPath("..") + "\\ExcelTemplet\\" + templateName; System.IO.FileStream tempFile = new System.IO.FileStream(filePath, System.IO.FileMode.Open);//读取模板文件
System.IO.StreamReader sr = new System.IO.StreamReader(tempFile); string tempStr = sr.ReadToEnd(); sr.Close();
//内容开始 StringBuilder sbContent = new StringBuilder(); sbContent.Append("<Worksheet ss:Name=\"" + typeName + "重点源达标率表\"><Table"); sbContent.Append(" x:FullColumns=\"1\" x:FullRows=\"1\" ss:StyleID=\"s63\" ss:DefaultColumnWidth=\"54\""); sbContent.Append(" ss:DefaultRowHeight=\"13.5\"><Row ss:AutoFitHeight=\"0\" ss:Height=\"42.5625\">"); sbContent.Append("<Cell ss:MergeAcross=\"" + (intColCount-1) + "\" ss:StyleID=\"s65\">"); sbContent.Append("<Data ss:Type=\"String\">" + typeName + "重点源达标率表</Data></Cell></Row>"); sbContent.Append("<Row ss:AutoFitHeight=\"0\" ss:Height=\"24\">"); for (int i = 0; i < dsData.Columns.Count; i++) { sbContent.Append("<Cell ss:StyleID=\"s68\"><Data ss:Type=\"String\">"+dsData.Columns[i].ColumnName+"</Data></Cell>"); } sbContent.Append("</Row>"); for (int k = 0; k < dsData.Rows.Count; k++) { sbContent.Append("<Row>"); for (int m = 0; m < dsData.Columns.Count; m++) { if("重点源数"==dsData.Columns[m].ColumnName) keyPollutionCount+=Convert.ToInt32(dsData.Rows[k][m].ToString()); if ("实测重点源数" == dsData.Columns[m].ColumnName) keyAllPollutionCount += Convert.ToInt32(dsData.Rows[k][m].ToString()); string value = dsData.Rows[k][m].ToString(); if ("0%" == value) value = ""; sbContent.Append("<Cell ss:StyleID=\"s21\"><Data ss:Type=\"String\">" +value +"</Data></Cell>"); } sbContent.Append("</Row>"); } sbContent.Append("<Row><Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"><Data ss:Type=\"String\">合计</Data></Cell>"); sbContent.Append("<Cell ss:StyleID=\"s21\"><Data ss:Type=\"String\">"+keyPollutionCount+"</Data></Cell>"); sbContent.Append("<Cell ss:StyleID=\"s21\"><Data ss:Type=\"String\">" + keyAllPollutionCount + "</Data></Cell>"); DataTable dtPollutionRates = dal.GetAllPollutionRate(parameterList.ToArray()); if (null == dtPollutionRates || dtPollutionRates.Rows.Count < 0) return; for (int i = 0; i < dtPollutionRates.Rows.Count; i++) { string tempProterty = dtPollutionRates.Rows[i]["AllRate"].ToString(); if ("0%" == tempProterty) tempProterty = ""; sbContent.Append("<Cell ss:StyleID=\"s21\"><Data ss:Type=\"String\">" + tempProterty + "</Data></Cell>"); } sbContent.Append("</Row>"); sbContent.Append("</Table>"); tempStr = tempStr.Replace("{Content}", sbContent.ToString()); sw.Write(tempStr); sw.Close(); ClientScript.RegisterStartupScript(typeof(Page), "a", "<script language=\"Javascript\" type=\"text/javascript\">window.open('../temp/" + OutFileName + ".xls');</script>"); BindGrid(); } catch (Exception ex) { throw; }
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>10005</WindowHeight>
<WindowWidth>10005</WindowWidth>
<WindowTopX>120</WindowTopX>
<WindowTopY>135</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Center"/>
<Borders/>
<Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62" ss:Name="常规 2">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Arial" x:Family="Swiss"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="宋体" x:CharSet="134" ss:Size="16" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s68" ss:Parent="s62">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="宋体" x:CharSet="134" ss:Size="9" ss:Color="#000000"
ss:Bold="1"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s69" ss:Parent="s62">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Tahoma" x:CharSet="134" x:Family="Swiss" ss:Size="9"
ss:Color="#000000" ss:Bold="1"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s70" ss:Parent="s62">
<Alignment ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="宋体" x:CharSet="134" ss:Color="#000000" ss:Bold="1"/>
<Interior/>
</Style>
<Style ss:ID="s72" ss:Parent="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="宋体" x:CharSet="134" ss:Size="9"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<!--通用样式s21,程序里写入行数据时使用此样式,不可少-->
<Style ss:ID="s21">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
</Style>
</Styles>
{Content}
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Print>
<ValidPrinterInfo/>
<PaperSizeIndex>9</PaperSizeIndex>
<HorizontalResolution>200</HorizontalResolution>
<VerticalResolution>200</VerticalResolution>
</Print>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>1</ActiveRow>
<ActiveCol>9</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>
根据EXCEL模板填充数据的更多相关文章
- 用NPOI从DataTable到Excel,向Excel模板填充数据
DataTable---->Excel,填充数据 private IWorkbook workbook = null; private ISheet sheet = null; private ...
- POI3.10读取Excel模板填充数据后生成新的Excel文件
private final DecimalFormat df = new DecimalFormat("#0.00"); public void test(){ String fi ...
- 读取excel模板填充数据 并合并相同文本单元格
try { string OutFileName = "北京市国控企业污染源废气在线比对监测数据审核表" + DateTime.Now.ToString(& ...
- Aspose.cell中的Excel模板导出数据
//Excel模板导数据(Eexcel中根据DataTable中的个数,给多个Sheet中的模板赋值) public void DataSetToManyExcel(string fileName, ...
- Net 自定义Excel模板导出数据
转载自:http://www.cnblogs.com/jbps/p/3549671.html?utm_source=tuicool&utm_medium=referral 1 using Sy ...
- kettle 使用excel模板导出数据
通过excel进行高速开发报表: 建设思路: 1.首先制订相关的execl模板. 2.通过etl工具(kettle)能够高速的 将数据库中的数据按excel模板导出成新的excel就可以. 当中ket ...
- C# Winform Excel的导出,根据excel模板导出数据
namespace dxhbskymDemo { public partial class ExcelForm : DevExpress.XtraEditors.XtraForm { public E ...
- 根据Excel模板存储数据,并下载
@RequestMapping("/exportList") @ResponseBody public Map<String, Object> exportList(H ...
- NPOI 通过excel模板写入数据并导出
private void ToExcel(string id) { //模板文件 string TempletFileName = Server.MapPath("template.xls& ...
随机推荐
- 基于Apache Thrift的公路涵洞数据交互实现原理
基于Apache Thrift的公路涵洞数据交互实现原理 Apache Thrift简介 Apache Thrift(以下简称为“Thrift”) 是 Facebook 实现的一种高效的.支持多种编程 ...
- Python生成器实现杨辉三角打印
def triangles(): c = [1] while 1: yield c a,b=[0]+c,c+[0] c=[a[i]+b[i] for i in range(len(a))] n = 0 ...
- java中字符串比较==和equals
1 总体来说java中字符串的比较是==比较引用,equals 比较值的做法.(equals 对于其他引用类型比较的是地址,这是因为object的equals方法比较的是引用),但是不同的声明方法字符 ...
- (转载)Activity-数据状态的保存
由于手机是便捷式移动设备,掌握在用户的手中,它的展示方向我们是无法预知的,具有不确定性.平时我们拿着手机多数为竖屏,但有时候我们感觉累了也会躺着去使用手机,那么这时手机屏幕的展示方向可能已经被用户切换 ...
- poj3281 Dining 最大流(奇妙的构图)
我是按照图论500题的文档来刷题的,看了这题怎么也不觉得这是最大流的题目.这应该是题目做得太少的缘故. 什么是最大流问题?最大流有什么特点? 最大流的特点我觉得有一下几点: 1.只有一个起点.一个终点 ...
- MSSQL数据库设置单用户模式后无法连上解决办法
设置数据库单用户模式后, 发现用系统管理员账号无法连接数据库, 用sa账号也不行. 首先, 马上去查了一下有什么进程比这个连接给占用了 SELECT [Spid] = session_Id , eci ...
- ObjecT4:On-line multiple instance learning (MIL)学习
原文链接:http://blog.csdn.net/ikerpeng/article/details/19235391 用到论文,直接看翻译. 文章:Robust object tracking wi ...
- 易观OLAP算法大赛结果揭晓,开源组黑马放大招!
100+天激烈赛程,40+国内顶级技术豪门对决,历经研发内部测试.正式环境测试和易观数据正式环境跑benchmark三大阶段.10月28日,易观OLAP算法大赛优胜名单出炉! 40+技术门派比武 易观 ...
- Zabbix系列-REHL6.10离线方式安装Zabbix 4.0 LTS
环境 第零步:关闭系统默认防火墙 setenforce 0 sed -i -r "/^SELINUX=/c SELINUX=disabled" /etc/selinux/confi ...
- distpicker 省市县级联
一.前言:想着每次写项目都要遇到省市县级联,就想找一个比较简单好用的插件来...感觉挺不错~~~ 二.例子: html : 效果: 还有很多种用法,我这里只放一种,插件文件里index.html有介绍 ...