package hz;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class Make{
public static void main(String []args){
String path="f:/info.xls";
Make mk = new Make();
mk.abc(path);
}
public void abc(String path){
HSSFWorkbook wb = new HSSFWorkbook(); // 建立新HSSFWorkbook对象
HSSFSheet sheet = wb.createSheet();
// wb.setSheetName(0, "", HSSFWorkbook.ENCODING_UTF_16);
sheet.setDefaultColumnWidth((short) 15);
//HashMap hm = new HashMap();
//String cj02005 = (String)hm.get("CJ02005");
//System.out.println(cj02005);
// 样式2 宋体 写正文时用
HSSFFont font2 = wb.createFont();
font2.setColor(HSSFFont.COLOR_NORMAL);
font2.setFontName("宋体");
font2.setFontHeightInPoints((short) 12);
HSSFCellStyle normal = wb.createCellStyle();
normal.setFont(font2);
normal.setAlignment(HSSFCellStyle.ALIGN_LEFT); // 水平居中
normal.setVerticalAlignment(HSSFCellStyle.VERTICAL_TOP); // 垂直居中
normal.setDataFormat(HSSFDataFormat.getBuiltinFormat("@"));
HSSFRow row = null;
HSSFCell cell = null;
HSSFCell csCell = null;
// 行
int i = 0;
row = sheet.createRow((short) i);
cell = row.createCell((short) (0)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue("姓名"); // 设置中西文结合字符串
row = sheet.createRow((short) i);
cell = row.createCell((short) (1)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue("性别"); // 设置中西文结合字符串
row = sheet.createRow((short) i);
cell = row.createCell((short) (2)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue("民族"); // 设置中西文结合字符串
row = sheet.createRow((short) i);
cell = row.createCell((short) (3)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue("卡号"); // 设置中西文结合字符串
row = sheet.createRow((short) i);
cell = row.createCell((short) (4)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue("身份证号"); // 设置中西文结合字符串
row = sheet.createRow((short) i);
cell = row.createCell((short) (5)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue("银行行号"); // 设置中西文结合字符串
row = sheet.createRow((short) i);
cell = row.createCell((short) (6)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue("银行卡号"); // 设置中西文结合字符串
String sql = "SELECT CJ02005,CJ02006,CJ02007,CJ02029,CJ02004,CJ02027,CJ02028 FROM T_CJ02";
ResultSet rs = this.sel(sql);
try {
while(rs.next()){
row = sheet.createRow((short) i + 1);
cell = row.createCell((short) (0)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue(rs.getString("CJ02005")); // 设置中西文结合字符串
System.out.println(rs.getString("CJ02005"));
cell = row.createCell((short) (1)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue(rs.getString("CJ02006")); // 设置中西文结合字符串
cell = row.createCell((short) (2)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue(rs.getString("CJ02007")); // 设置中西文结合字符串
cell = row.createCell((short) (3)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue(rs.getString("CJ02029")); // 设置中西文结合字符串
cell = row.createCell((short) (4)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue(rs.getString("CJ02004")); // 设置中西文结合字符串
cell = row.createCell((short) (5)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue(rs.getString("CJ02027")); // 设置中西文结合字符串
cell = row.createCell((short) (6)); // 建立新cell
cell.setCellStyle(normal);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
cell.setCellValue(rs.getString("CJ02028")); // 设置中西文结合字符串
i++;
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
FileOutputStream fileOut = new FileOutputStream(path);
wb.write(fileOut);
fileOut.close();
System.out.println("====动态模板文件excel文件生成成功:========" + path);
} catch (Exception e1) {
e1.printStackTrace();
}
}
public ResultSet sel(String sql){
Connection con = null;
ResultSet rs = null;
//String sql = "SELECT CJ02005,CJ02006,CJ02007,CJ02029,CJ02004,CJ02027,CJ02028 FROM T_CJ02";
try{
con = DataConnection.getConnection();
Statement stt = con.createStatement();
rs = stt.executeQuery(sql);
}catch(Exception e){
e.printStackTrace();
}
return rs;
}
}
分享到:
相关推荐
通过这个“java的poi生成excel图表demo”,我们可以学习如何利用POI创建动态的、数据驱动的Excel曲线图,进一步提升数据的可视性和理解性。这个压缩包中的“EexcelChart”可能是示例代码、测试数据或生成的Excel文件...
在本主题中,我们将深入探讨如何使用POI库来生成Excel文件并进行下载,同时关注设置字体大小这一细节。 首先,我们需要在项目中引入Apache POI库。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml ...
在这个场景中,"使用poi生成Excel所需要的jar包"指的是利用Apache POI库来生成Excel文件。POI-3.9.jar是Apache POI项目的一个版本,包含了所有必要的类和方法,让我们可以处理Excel的XLS和XLSX格式。 首先,Apache ...
Apache POI 是一个开源项目...以上是Apache POI生成Excel表格的基本知识点和操作步骤。通过这些示例,你可以理解如何在Java应用中利用POI进行Excel文件的创建、读取和修改,以及如何结合数据库操作实现数据的导入导出。
**POI生成Excel** 生成Excel文件主要涉及以下步骤: 1. **创建Workbook对象**:这是Excel文件的顶级容器,可以是XSSFWorkbook(.xlsx格式)或HSSFWorkbook(.xls格式)。 2. **创建Sheet对象**:Sheet代表Excel...
NULL 博文链接:https://xp9802.iteye.com/blog/1284185
在标题“android中poi生成word文档和excel文档”中提到的使用POI库生成Word和Excel文档,主要涉及到以下几个关键知识点: 1. **Apache POI 概述**:Apache POI 是一个开源项目,提供了一套API,用于读写Microsoft ...
标题 "POI 生成EXCEL2007【含例子】" 涉及到的知识点主要集中在Apache POI库的使用上,这是一个强大的Java API,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel文件。在这个场景中,重点是创建和操作...
### POI生成Excel报表知识点详解 #### 一、Apache POI简介 Apache POI是Apache软件基金会的一个开源项目,主要用于处理Microsoft Office格式的文件。它提供了API来读写Word、Excel等Office文档格式。其中,处理...
标题中的“poi生成excel实例”指的是使用Apache POI库来创建和操作Microsoft Excel文件的实践案例。Apache POI是开源的Java库,它允许开发者在Java应用中读写Microsoft Office格式的文件,包括Excel。 在描述中提到...
下面将详细介绍如何使用Java POI库来生成Excel(xlsx)文件。 首先,我们需要引入Apache POI的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.poi <artifactId>poi-...
在使用Java POI生成Excel时,为了使数据更易读和专业,我们经常需要设置单元格的格式,特别是当涉及到金额时,使用货币格式可以使数字更加直观。以下是一段示例代码,展示了如何在Excel单元格中设置货币格式: ```...
标题中的“使用POI生成EXCEL”指的是使用Apache POI库来创建Microsoft Excel文件的过程。Apache POI是一个开源项目,提供了Java API,可以用来读写Microsoft Office格式的文件,包括Excel(.xls和.xlsx格式)。这个...
java代码调用poi架包, 把数据生成excel文件, 导出到文件
平时工作中用到的一些技术点,拿出来和大家共享一下。 有些功能比较粗糙,如果大家有更加完善的示例或建议,欢迎交流。 1、jpg图片缩略图:ImageUtil ...2、poi创建excel:CDSHdlReport 3、计算表达式求值:Cal
"SpringMVC POI Excel 生成导出" SpringMVC 是一个基于 Java 的 Web 框架,POI 是一个 Java 库,用于操作 Microsoft Office 文件格式,Excel 是一个电子表格软件。今天,我们将在 SpringMVC 中使用 POI 生成 Excel ...
在本示例中,我们将重点讨论如何使用 Apache POI 来生成 Excel 文件,并进行单元格的合并操作。 首先,我们需要引入 Apache POI 的相关依赖库。如果你使用的是 Maven,可以在项目的 `pom.xml` 文件中添加以下依赖:...
在下载时,可以从数据库查询数据,再用POI生成Excel文件供用户下载。 四、MySQL数据存储 在MySQL中,我们需要设计合适的表结构来存储从Excel导入的数据。根据Excel文件的列名和数据类型,创建对应的数据库字段。...
以下是一个简化的示例代码片段,展示了如何使用Apache POI生成水印: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; //... 加载Excel文件 ... // 创建文字图片 ...
在本文中,我们将深入探讨如何使用Java POI库根据已有的Excel模板生成新的Excel文件。 首先,理解“模板”在Excel中的概念非常重要。模板通常包含预设的格式、样式、公式和数据结构,可以作为创建新文件的基础。在...