/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.zte.volidate.domain; import java.util.List; import java.util.Map; /** * * @author zhy */ public class ExportVo { private Map<String,List<Map<String,String>>> data; private String title; private String savePath; /** * @return the data */ public Map<String,List<Map<String,String>>> getData() { return data; } /** * @param data the data to set */ public void setData(Map<String,List<Map<String,String>>> data) { this.data = data; } /** * @return the title */ public String getTitle() { return title; } /** * @param title the title to set */ public void setTitle(String title) { this.title = title; } /** * @return the savePath */ public String getSavePath() { return savePath; } /** * @param savePath the savePath to set */ public void setSavePath(String savePath) { this.savePath = savePath; } } package com.zte.volidate.util; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import com.zte.volidate.domain.ExportVo; /** * * @author zhy */ public class ExcelTool { public static void main(String[] args) { List<Map<String,String>> list = new ArrayList<Map<String,String>>(); Map<String,String> map = new HashMap<String,String>(); Map<String,String> map3 = new HashMap<String,String>(); map.put("姓名", "zhangsan1"); map.put("学号", "1"); map3.put("姓名", "zhangsan2"); map3.put("学号", "2"); list.add(map3); list.add(map); List<Map<String,String>> list1 = new ArrayList<Map<String,String>>(); Map<String,String> map11 = new HashMap<String,String>(); map11.put("姓名", "zhangsan3"); map11.put("学号", "3"); Map<String,String> map12 = new HashMap<String,String>(); map12.put("姓名", "zhangsan4"); map12.put("学号", "4"); list1.add(map11); list1.add(map12); Map<String, List<Map<String,String>>> map2 = new HashMap<String, List<Map<String,String>>>(); map2.put("1班", list); map2.put("2班", list1); ExportVo vo = new ExportVo(); vo.setData(map2); vo.setSavePath("C:/Users/zhy/Desktop/新建文件夹 (2)/testnew.xls"); vo.setTitle("学生信息"); new ExcelTool().excel(vo); } public void excelCreateSheet(WritableSheet wsheet, List<Map<String,String>> list, String titleName) { try { WritableFont wfont = new WritableFont(WritableFont.ARIAL, 14, WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED); WritableFont font = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK); WritableCellFormat nameFormat = new WritableCellFormat(wfont); WritableCellFormat titleFormat = new WritableCellFormat(font); // 设置Excel标题头 wsheet.mergeCells(0, 0, 5, 0); // 合并单元格 Label excelTitle1 = new Label(0, 0, titleName, nameFormat); wsheet.addCell(excelTitle1); String[] columnNames = new String[list.get(0).keySet().size()]; list.get(0).keySet().toArray(columnNames); // 设置Excel表头 for (int i = 0; i < columnNames.length; i++) { Label excelTitle = new Label(i, 1, columnNames[i], titleFormat); wsheet.addCell(excelTitle); } int c = 2; java.util.Iterator<Map<String, String>> it = list.iterator(); while (it.hasNext()) { Map<String,String> rows = it.next(); int rowIndex = 0; for(String columnName:columnNames){ Label content = new Label(rowIndex, c, rows.get(columnName)); wsheet.setColumnView(0, 40); wsheet.setColumnView(1, 12); wsheet.setColumnView(2, 13); wsheet.setColumnView(3, 14); wsheet.setColumnView(4, 50); wsheet.addCell(content); rowIndex++; } c++; } } catch (Exception e) { e.printStackTrace(); } } public void excel(ExportVo vo) { try { String path = vo.getSavePath(); Map<String, List<Map<String,String>>> map = vo.getData(); String titleName = vo.getTitle(); WritableWorkbook wbook = Workbook.createWorkbook(new File(path)); // 建立excel文件 for (Entry<String, List<Map<String,String>>> entry : map.entrySet()) { WritableSheet wsheet = wbook.createSheet(entry.getKey(), 0); // 工作表名称 excelCreateSheet(wsheet,entry.getValue(), titleName); } wbook.write(); wbook.close(); } catch (IOException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } } }
相关推荐
通常,每个Excel工作表对应一个数据库表,每列则对应表的一个字段。你可以解析列名作为字段名,遍历行数据作为记录,然后构建SQL语句来创建表结构和插入数据。例如: ```php $tableName = 'your_table_name'; $...
通过使用POI库,我们可以轻松地读取Excel工作簿(Workbook)和工作表(Sheet),并访问其中的数据。 1. **安装Apache POI**: 在你的项目中添加Apache POI依赖,如果是Maven项目,可以在pom.xml文件中添加如下依赖...
`workbook`对象代表整个Excel文件,你可以通过调用`getSheet()`方法获取模板中的工作表。然后,你可以遍历工作表的行和列,对单元格进行读写操作。例如,更新单元格的值: ```java XSSFSheet sheet = workbook....
使用POI的`XSSFWorkbook`类打开Excel文件,然后通过` XSSFSheet `获取工作表,并使用` XSSFRow `和` XSSFCell `遍历单元格数据: ```java import org.apache.poi.xssf.usermodel.*; // ... FileInputStream fis =...
电机Map图绘制是电机设计与分析中的一个重要环节,它能够直观地展示电机在不同工作条件下的性能特性。Map图通常包括效率地图(Efficiency Map)和功率地图(Power Map),帮助工程师了解电机在不同转速和负载下的...
自己动手丰衣足食,就自己用Swing写了一个通过数据库的表生成JavaBean的工具,支持MySQL、Oracle、SQLServce、PostgreSQL,完美支持JPA注解,可以同时生成Entity和DTO,可以自动去除表前缀,并支持去除多个前缀,...
使用Apache POI,你可以创建一个`Workbook`对象来表示Excel文件,然后通过`Sheet`对象访问工作表,最后用`Row`和`Cell`对象处理具体的数据。 ```java FileInputStream fis = new FileInputStream("your_file_path...
描述中提到“查询数据库中的数据,生成map形式”,这表明在生成Excel之前,数据需要从数据库中获取并转换为键值对的形式。Map是一种常用的数据结构,可以方便地存储和操作键值对。开发者可能先执行SQL查询,然后将...
创建一个`HSSFWorkbook`实例,然后将Freemarker生成的字符串写入到工作表中。 5. 写入文件:最后,将工作簿写入到本地文件系统,用户就可以下载或保存Excel文件了。 三、实际例子 在提供的压缩包`freemarker总结-...
接下来,创建一个工作表,这是Excel中的一个页面,可以添加多个工作表到工作簿中。 ```java HSSFSheet sheet = workBook.createSheet(); ``` 4. **设置工作表名称** 可以给工作表命名,这里将工作表命名为...
Java根据模板导出Excel报表并复制模板生成多个Sheet页 本文主要介绍了Java根据模板导出Excel报表并复制模板生成多个Sheet页的方法,具有很好的参考价值。本工具类使用的场景为根据提供的模板来导出Excel报表并且可...
### Python建立Map写Excel表实例解析 #### 一、引言 在自动化处理工作中,Excel文件经常被用来存储和分析数据。Python作为一种强大的编程语言,提供了多种库支持Excel操作,如`xlrd`, `xlwt`, `openpyxl`, 和 `...
这个过程与之前的相反,需要解析.plist文件,然后将数据写入到新的Excel工作表中。 总的来说,这个项目涉及到使用Java的Apache POI库处理Excel文件,理解.plist文件的XML结构,并生成相应的XML内容。此外,还需要...
3. **使用POI创建Excel工作簿和工作表**:初始化`HSSFWorkbook`(XLS)或`XSSFWorkbook`(XLSX)实例,然后添加工作表。 4. **设置列名**:在第一行设置列标题,例如"姓名", "年龄"。 5. **遍历并写入数据**:使用`...
4. **转换工作表数据**:从解析出的工作表中提取数据,通常是以二维数组的形式。然后,可以使用JavaScript的数组方法,如`map`和`reduce`,将数据转换为JSON格式。 5. **显示结果**:最后,将转换后的JSON数据展示...
这个库主要适用于那些需要在Web应用中生成Excel报告或导出数据的场景,比如数据分析、报表生成等。EasyUIPoI的名字可能来源于流行的前端框架EasyUI,但其核心功能是后端的Excel处理。 Apache POI是Apache软件基金会...
5. **导出Excel**:最后,将处理后的内存工作簿写入到新的Excel文件中,完成导出过程。EasyPoi支持导出为xls和xlsx两种格式,只需要调整相关的配置即可。 在实际应用中,EasyPoi还提供了丰富的功能,如支持复杂公式...
首先,根据需求从数据库中查询所需的数据,然后利用Excel库创建一个新的Excel工作簿,将数据填充到工作表中,最后将生成的Excel文件提供给用户下载。 6. ImpandEXpServer:这个文件名可能是服务器处理导入导出操作...
在这个项目案例中,开发者使用了jxls库的最新版本(jxls2),它是一个强大的工具,能够帮助程序员将Java集合和POJOs(Plain Old Java Objects)直接转换为Excel工作表。 jxls是一个开源的Java库,其主要功能是允许...
3. **数据绑定**:将数据源(如List、Map等)与Excel工作表的列进行绑定,指定每列的数据来源。 4. **设置样式**:如果需要,可以定义单元格、行或列的样式,如字体、颜色、边框等。 5. **执行导出**:调用工具的...