`
goto0917
  • 浏览: 47991 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论
  • take: 这是POI方式,不是JXLS方式. JXLS包路径都是net ...
    jxls

xsl2

阅读更多
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));
}
}
}

}

分享到:
评论

相关推荐

    jmeter-results-report.xsl 2个

    2. **jmeter-results-total-report.xsl**: 这个文件可能是总体报告的模板,它可能汇总了所有测试数据,提供一个整体的性能视图。与详细报告相比,总览报告通常会突出显示平均响应时间、最大响应时间、最小响应时间...

    xml根据xsl转换

    在本案例中,提供的"**xsl2xml.java**"文件可能是一个Java程序,它实现了将XML文件根据XSL样式表转换的功能。Java中处理XML和XSLT转换通常会用到如`javax.xml.transform`这样的API,其中`TransformerFactory`用于...

    xsl转化为html的示例代码和文件

    在IT领域,XSL(可扩展样式表语言)和HTML是两种不同的标记语言,它们各自在数据呈现和网页设计中发挥着重要...而压缩包中的`xsl2html`可能包含了具体的XML和XSLT文件,以及它们转换后的HTML示例,供学习者参考和实践。

    XSL开发基础参考资料

    XSL(Extensible Stylesheet Language)是一种用于转换XML(Extensible Markup Language)文档的语言,它允许开发者通过定义样式表来控制XML数据的呈现方式。在XSL开发中,理解和掌握XSL函数、XSL元素以及XPath是至...

    OMML2MML.XSL

    使用java解析word文件里得数学公式时,会用到该文件.可以将公式的格式转为目标格式. Mathml (MML) ...Office在安装目录中提供了将OMML转为MathML的xsl工具:MML2OMML.XSL 注:试用前,请先打开文件并阅读第一行.

    跟我学xsl.doc

    【XSL:开启XML的转换之旅】 XML(Extensible Markup Language)是一种用于标记数据的语言,它使得数据结构清晰,易于机器解析和人类阅读。然而,XML文档本身并不包含任何关于如何显示这些数据的信息。这就引入了...

    omml2mml.xsl

    Office Word 2016 中Word自带公式编辑器编辑的公式转Mathtype出现omml2mml.xsl 问题的解决方法 将https://docs.wiris.com/_media/en/mathtype/office_tools/support_notices/omml2mml.zip下载的omml2mml.xsl 复制到...

    XSL简明教程(5)

    2. **加载XSL文件**: - 同样使用`Microsoft.XMLDOM`对象加载XSL文件。 3. **转换文档**: - 调用`transformNode`方法将XML文档转换为HTML格式,并显示在网页上。 #### 运行示例 ```html // Load XML var ...

    网页XSL基础教程,支持XML和XSL

    ### XSL基础教程知识点 #### 一、XSL与XML的关系 XSL(Extensible Stylesheet Language,可扩展样式表语言)是一种用于控制XML文档显示的标记语言。它主要用于将XML文档转换为其他格式,例如HTML或PDF。XSL允许...

    xsl javascript 传递参数

    在IT行业中,XSL(Extensible Stylesheet Language)是一种用于转换XML(Extensible Markup Language)文档的语言,而XPath(XML Path Language)则是用于在XML文档中查找信息的查询语言。JavaScript,作为Web开发中...

    docbook-xsl-1.79.1.tar.bz2

    XSL-Stylesheets Source: DocBook-XSL-1.79.1

    XSL-FO 教程

    XSL-FO 简介 XSL-FO 的简介。包括其概念和作用。 XSL-FO 文档 本章将解 XSL-FO 文档的结构。 XSL-FO 区域 本章讲解 XSL-FO 的区域模型(area model)。 XSL-FO 输出 本章讲解 XSL-FO 文档的输出元素(Output ...

    XSL.rar_dll编辑_xsl_xsl debug_xsl editor_xslxsl·com

    2. "xsl_xsl_debug":这暗示了编辑器可能有专门的XSL调试功能,帮助开发者检查和调试XSL转换过程中的错误。 3. "xsl_editor":确认了这是一个XSL编辑工具,用于编写和修改XSL样式表。 4. "xslxsl·com":这可能是...

    跟我学XSL

    第一个XML文档 2.XSL入门 3.XSL模板与匹配模式 4.测试模式 5.XSL中的choose 6.运算符,关系与逻辑运算符,特殊字符等 7.XSL函数之一 8.脚本与XSL的结合及应用 9.XSL函数之二(DOM中对象的方法)

    在XSL使用数组例子

    &lt;xsl:variable name="array2" select="'element2'"/&gt; &lt;xsl:variable name="array3" select="'element3'"/&gt; &lt;xsl:for-each select="$array1|$array2|$array3"&gt; &lt;p&gt;&lt;xsl:value-of select="."/&gt; &lt;/xsl:for-each&gt; ...

    xml xsl网页生成

    2. XSL基础知识: - **XSLT(XSL转换)**:XSL的主要部分,用于将XML转换成其他格式,如HTML、PDF等。 - **XSL样式表**:包含一系列模板规则,当匹配到XML文档中的特定元素时,应用这些规则进行转换。 - **模板**...

    omml2mml.xsl文件

    为啥下载非要资源分,我想弄0分不可以?这个文件就是安装word之后里边的文件,在word文件夹安装目录下,比如C:\Program Files (x86)\Microsoft Office\root\Office16

    XSL 中文教程大全

    2. **XSLT的处理模型** - **处理模型(10).mht**:XSLT的处理模型涉及到输入XML文档、XSLT样式表和输出结果之间的关系。XSLT处理器读取XML文档,应用样式表规则,生成新的文档结构。 3. **XSLT的概念** - **XSLT...

    xsl教程

    XSL由三部分组成:XSLT(XSL Transformations)、XPath(XML Path Language)和XSL-FO(XSL Formatting Objects)。在Java环境中,处理XSL转换通常会涉及到JAXP(Java API for XML Processing)。 XSLT是XSL的主要...

Global site tag (gtag.js) - Google Analytics