public HSSFWorkbook createWorkookByHean(String sheetName,
String[] titles,
HBean[] hBeans,
String[] beanColumns) throws IOException,ServiceException {
List<HashMap<String, Object>> hList = new ArrayList<HashMap<String, Object>>();
//转换成hashmap
HashMap<String, Object> map =null;
Object colValue =null;
for(HBean bean:hBeans){
map = new HashMap<String, Object>();
for(String column:beanColumns){
colValue = bean.getPropertyValue(column);
map.put(column, colValue);
}
hList.add(map);
}
return createWorkbook(sheetName,titles,hList,beanColumns);
}
public HSSFWorkbook createWorkbook(String sheetName,
String[] titles,
List<HashMap<String,Object>> list,
String[] mapKeys) throws IOException {
int sheetPages = (list.size()-1)/SHEETMAXROWS+1;
HSSFWorkbook wb = new HSSFWorkbook();
HSSFFont font = wb.createFont();
HSSFCellStyle style = wb.createCellStyle();
font.setCharSet(HSSFCell.ENCODING_UTF_16);
style.setFont(font);
List<HashMap<String,Object>> curList = null;
for(int i=1;i<=sheetPages;i++) {// 只有一张sheet
HSSFSheet sheet = wb.createSheet(sheetName+"_"+i);
HSSFRow row = sheet.createRow(0);
// 填写Excel的表头
for (int m = 0; m < titles.length; m++) {
HSSFCell cell = row.createCell((short) m);
cell.setCellValue(titles[m]);
}
if(i*SHEETMAXROWS<=list.size()){
curList = list.subList((i-1)*SHEETMAXROWS, i*SHEETMAXROWS);
}else{
curList = list.subList((i-1)*SHEETMAXROWS, list.size());
}
//保存到excel
insertExcelRows(sheet,1,curList,mapKeys,style);
}
return wb;
}
/**
* 写入Excel数据行
* @param sheet:excel的页签对象
* @param list:数据列表,List中是数组,每个数组的数据按序来写入Excel。
* @param mapKeys List中是数组 的hashmap对象的key name,按excel的列的顺序列出
* @return
*/
private void insertExcelRows(HSSFSheet sheet,
int beginRow,
List<HashMap<String, Object>> list,
String[] mapKeys,HSSFCellStyle style) {
if (list == null)
return;
for (int i = 0; i < list.size(); i++) {
HashMap<String, ?> colMap = (HashMap<String, ?>) list.get(i);
if (colMap == null)
continue;
HSSFRow row = sheet.createRow(beginRow+i);
HSSFCell cell = null;
for (int j = 0; j < mapKeys.length; j++) {
Object obj = colMap.get(mapKeys[j]);
cell = row.createCell((short)j);
cell.setCellStyle(style);
if(obj instanceof Date){
String temp = DateTimeUtil.getDateFormat((Date)obj);
cell.setCellValue(temp);
}else if(obj instanceof Calendar) {
String temp = DateTimeUtil.getDateFormat(((Calendar)obj).getTime());
cell.setCellValue(temp);
//cell.setCellValue((Calendar)obj);
}else if(obj instanceof String){
cell.setCellValue((String)obj);
}else if(obj instanceof Number){
cell.setCellValue(((Number)obj).doubleValue());
}else if(obj instanceof Boolean){
cell.setCellValue((Boolean)obj);
}else{
cell.setCellValue(String.valueOf(obj));
}
}
}
}
分享到:
相关推荐
2. **jmeter-results-total-report.xsl**: 这个文件可能是总体报告的模板,它可能汇总了所有测试数据,提供一个整体的性能视图。与详细报告相比,总览报告通常会突出显示平均响应时间、最大响应时间、最小响应时间...
在本案例中,提供的"**xsl2xml.java**"文件可能是一个Java程序,它实现了将XML文件根据XSL样式表转换的功能。Java中处理XML和XSLT转换通常会用到如`javax.xml.transform`这样的API,其中`TransformerFactory`用于...
在IT领域,XSL(可扩展样式表语言)和HTML是两种不同的标记语言,它们各自在数据呈现和网页设计中发挥着重要...而压缩包中的`xsl2html`可能包含了具体的XML和XSLT文件,以及它们转换后的HTML示例,供学习者参考和实践。
XSL(Extensible Stylesheet Language)是一种用于转换XML(Extensible Markup Language)文档的语言,它允许开发者通过定义样式表来控制XML数据的呈现方式。在XSL开发中,理解和掌握XSL函数、XSL元素以及XPath是至...
使用java解析word文件里得数学公式时,会用到该文件.可以将公式的格式转为目标格式. Mathml (MML) ...Office在安装目录中提供了将OMML转为MathML的xsl工具:MML2OMML.XSL 注:试用前,请先打开文件并阅读第一行.
【XSL:开启XML的转换之旅】 XML(Extensible Markup Language)是一种用于标记数据的语言,它使得数据结构清晰,易于机器解析和人类阅读。然而,XML文档本身并不包含任何关于如何显示这些数据的信息。这就引入了...
Office Word 2016 中Word自带公式编辑器编辑的公式转Mathtype出现omml2mml.xsl 问题的解决方法 将https://docs.wiris.com/_media/en/mathtype/office_tools/support_notices/omml2mml.zip下载的omml2mml.xsl 复制到...
2. **加载XSL文件**: - 同样使用`Microsoft.XMLDOM`对象加载XSL文件。 3. **转换文档**: - 调用`transformNode`方法将XML文档转换为HTML格式,并显示在网页上。 #### 运行示例 ```html // Load XML var ...
### XSL基础教程知识点 #### 一、XSL与XML的关系 XSL(Extensible Stylesheet Language,可扩展样式表语言)是一种用于控制XML文档显示的标记语言。它主要用于将XML文档转换为其他格式,例如HTML或PDF。XSL允许...
在IT行业中,XSL(Extensible Stylesheet Language)是一种用于转换XML(Extensible Markup Language)文档的语言,而XPath(XML Path Language)则是用于在XML文档中查找信息的查询语言。JavaScript,作为Web开发中...
XSL-Stylesheets Source: DocBook-XSL-1.79.1
XSL-FO 简介 XSL-FO 的简介。包括其概念和作用。 XSL-FO 文档 本章将解 XSL-FO 文档的结构。 XSL-FO 区域 本章讲解 XSL-FO 的区域模型(area model)。 XSL-FO 输出 本章讲解 XSL-FO 文档的输出元素(Output ...
2. "xsl_xsl_debug":这暗示了编辑器可能有专门的XSL调试功能,帮助开发者检查和调试XSL转换过程中的错误。 3. "xsl_editor":确认了这是一个XSL编辑工具,用于编写和修改XSL样式表。 4. "xslxsl·com":这可能是...
第一个XML文档 2.XSL入门 3.XSL模板与匹配模式 4.测试模式 5.XSL中的choose 6.运算符,关系与逻辑运算符,特殊字符等 7.XSL函数之一 8.脚本与XSL的结合及应用 9.XSL函数之二(DOM中对象的方法)
<xsl:variable name="array2" select="'element2'"/> <xsl:variable name="array3" select="'element3'"/> <xsl:for-each select="$array1|$array2|$array3"> <p><xsl:value-of select="."/> </xsl:for-each> ...
2. XSL基础知识: - **XSLT(XSL转换)**:XSL的主要部分,用于将XML转换成其他格式,如HTML、PDF等。 - **XSL样式表**:包含一系列模板规则,当匹配到XML文档中的特定元素时,应用这些规则进行转换。 - **模板**...
为啥下载非要资源分,我想弄0分不可以?这个文件就是安装word之后里边的文件,在word文件夹安装目录下,比如C:\Program Files (x86)\Microsoft Office\root\Office16
2. **XSLT的处理模型** - **处理模型(10).mht**:XSLT的处理模型涉及到输入XML文档、XSLT样式表和输出结果之间的关系。XSLT处理器读取XML文档,应用样式表规则,生成新的文档结构。 3. **XSLT的概念** - **XSLT...
XSL由三部分组成:XSLT(XSL Transformations)、XPath(XML Path Language)和XSL-FO(XSL Formatting Objects)。在Java环境中,处理XSL转换通常会涉及到JAXP(Java API for XML Processing)。 XSLT是XSL的主要...