`

用poi生成EXCEL

    博客分类:
  • java
阅读更多
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

    通过这个“java的poi生成excel图表demo”,我们可以学习如何利用POI创建动态的、数据驱动的Excel曲线图,进一步提升数据的可视性和理解性。这个压缩包中的“EexcelChart”可能是示例代码、测试数据或生成的Excel文件...

    JAVA用POI生成Excel并下载

    在本主题中,我们将深入探讨如何使用POI库来生成Excel文件并进行下载,同时关注设置字体大小这一细节。 首先,我们需要在项目中引入Apache POI库。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    使用poi生成Excel所需要的jar包

    在这个场景中,"使用poi生成Excel所需要的jar包"指的是利用Apache POI库来生成Excel文件。POI-3.9.jar是Apache POI项目的一个版本,包含了所有必要的类和方法,让我们可以处理Excel的XLS和XLSX格式。 首先,Apache ...

    poi生成excel表格

    Apache POI 是一个开源项目...以上是Apache POI生成Excel表格的基本知识点和操作步骤。通过这些示例,你可以理解如何在Java应用中利用POI进行Excel文件的创建、读取和修改,以及如何结合数据库操作实现数据的导入导出。

    POI生成Excel POI操作Excel POI读取Excel POI类库

    **POI生成Excel** 生成Excel文件主要涉及以下步骤: 1. **创建Workbook对象**:这是Excel文件的顶级容器,可以是XSSFWorkbook(.xlsx格式)或HSSFWorkbook(.xls格式)。 2. **创建Sheet对象**:Sheet代表Excel...

    用POI生成Excel文件的典型例子【基于poi3.0 附源码】

    NULL 博文链接:https://xp9802.iteye.com/blog/1284185

    android中poi生成word文档和excel文档

    在标题“android中poi生成word文档和excel文档”中提到的使用POI库生成Word和Excel文档,主要涉及到以下几个关键知识点: 1. **Apache POI 概述**:Apache POI 是一个开源项目,提供了一套API,用于读写Microsoft ...

    POI 生成EXCEL2007【含例子】

    标题 "POI 生成EXCEL2007【含例子】" 涉及到的知识点主要集中在Apache POI库的使用上,这是一个强大的Java API,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel文件。在这个场景中,重点是创建和操作...

    POI生成excel报表

    ### POI生成Excel报表知识点详解 #### 一、Apache POI简介 Apache POI是Apache软件基金会的一个开源项目,主要用于处理Microsoft Office格式的文件。它提供了API来读写Word、Excel等Office文档格式。其中,处理...

    poi生成excel实例

    标题中的“poi生成excel实例”指的是使用Apache POI库来创建和操作Microsoft Excel文件的实践案例。Apache POI是开源的Java库,它允许开发者在Java应用中读写Microsoft Office格式的文件,包括Excel。 在描述中提到...

    Java POI 生成Excel(xlsx)文件

    下面将详细介绍如何使用Java POI库来生成Excel(xlsx)文件。 首先,我们需要引入Apache POI的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.poi <artifactId>poi-...

    Java POI 生成Excel时显示货币格式

    在使用Java POI生成Excel时,为了使数据更易读和专业,我们经常需要设置单元格的格式,特别是当涉及到金额时,使用货币格式可以使数字更加直观。以下是一段示例代码,展示了如何在Excel单元格中设置货币格式: ```...

    使用POI生成EXCEL

    标题中的“使用POI生成EXCEL”指的是使用Apache POI库来创建Microsoft Excel文件的过程。Apache POI是一个开源项目,提供了Java API,可以用来读写Microsoft Office格式的文件,包括Excel(.xls和.xlsx格式)。这个...

    java调用poi生成excel文件

    java代码调用poi架包, 把数据生成excel文件, 导出到文件

    图片缩略图以及poi生成excel文档

    平时工作中用到的一些技术点,拿出来和大家共享一下。 有些功能比较粗糙,如果大家有更加完善的示例或建议,欢迎交流。 1、jpg图片缩略图:ImageUtil ...2、poi创建excel:CDSHdlReport 3、计算表达式求值:Cal

    SpringMVC POI Excel 生成导出

    "SpringMVC POI Excel 生成导出" SpringMVC 是一个基于 Java 的 Web 框架,POI 是一个 Java 库,用于操作 Microsoft Office 文件格式,Excel 是一个电子表格软件。今天,我们将在 SpringMVC 中使用 POI 生成 Excel ...

    poi生成Excel及合并单元格示例

    在本示例中,我们将重点讨论如何使用 Apache POI 来生成 Excel 文件,并进行单元格的合并操作。 首先,我们需要引入 Apache POI 的相关依赖库。如果你使用的是 Maven,可以在项目的 `pom.xml` 文件中添加以下依赖:...

    poi操作excel

    在下载时,可以从数据库查询数据,再用POI生成Excel文件供用户下载。 四、MySQL数据存储 在MySQL中,我们需要设计合适的表结构来存储从Excel导入的数据。根据Excel文件的列名和数据类型,创建对应的数据库字段。...

    POI操作Excel完美生成水印

    以下是一个简化的示例代码片段,展示了如何使用Apache POI生成水印: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; //... 加载Excel文件 ... // 创建文字图片 ...

    java poi 根据excel模板生成excel文件

    在本文中,我们将深入探讨如何使用Java POI库根据已有的Excel模板生成新的Excel文件。 首先,理解“模板”在Excel中的概念非常重要。模板通常包含预设的格式、样式、公式和数据结构,可以作为创建新文件的基础。在...

Global site tag (gtag.js) - Google Analytics