根据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& ...
随机推荐
- 小程序-wx:for
wx:for (列表渲染) index默认数组下标item默认数组当前项的变量名 数组是对象的形式,单纯写{{item}},结果是[object object]的形式,必须加对象名,并且对象名基本设置 ...
- webpack-1
1.webpack 安装新项目npm install --save-dev webpack如果版本较老,在package,json中找到版本号,修改成你要的版本号,在删除node-model文件夹,执 ...
- 使用QT创建PythonGUI程序
1. 挑选 GUI设计程序: wxPython Vs. pyQt4 参考链接:http://www.douban.com/group/topic/14590751/ (1):wxWidgets wxP ...
- python版本及ML库
一:关于Python版本的选择问题 关于Python的选择问题:要看学术界能不能把科学库迁移到Python3. 1:多个版本共用: 最近发现SciPy的最高版本是3.2,只能是退而求其次,不使用最新版 ...
- selenium的显示等待和隐式等待区别
1.selenium的显示等待 原理:显式等待,就是明确的要等到某个元素的出现或者是某个元素的可点击等条件,等不到,就一直等,除非在规定的时间之内都没找到,那么就跳出Exception.(简而言之:就 ...
- UEditor如何读取数据库信息?
你用的什么语言,服务器端生成的时候,直接写在里面就可以了啊,比如 <textarea name="content" cols="800" rows=&qu ...
- JavaScript:进制转换。
最近做了一些进制的转换的点. 十进制转二进制: let a = 45; a.toString(2); //"101101" let b = 123; b.toString(2); ...
- apache https部署
1.生成证书,直接在阿里云或腾讯云中生成此处不再介绍 2.在httpd.conf中取消#LoadModule ssl_module modules/mod_ssl.so的注释 3.开启httpd-ss ...
- 用Python图像处理
前几天弄了下django的图片上传,上传之后还需要做些简单的处理,python中PIL模块就是专门用来做这个事情的. 于是照葫芦画瓢做了几个常用图片操作,在这里记录下,以便备用. 这里有个字体文件,大 ...
- redis 模拟搭建集群
一.本文是在一台 linux 系统上,模拟搭建 redis 集群.3 台主机,3 台从机. 二.redis 安装步骤 http://www.cnblogs.com/fangwu/p/8602357.h ...