Java操作Excel完美解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java操作Excel完美解决方案相关的知识,希望对你有一定的参考价值。

参考技术A   只要有表格 就会有Microsoft Excel 用Microsoft Excel处理数据已成为不少人的习惯 Jakarta POI API就为Java程序员提供了一条存取Microsoft文档格式的神奇之路 其中最成熟的就是能存取Microsoft Excel文档的HSSF API     本篇文章就举例示范如何利用Java 创建和读取Excel文档 并设置单元格的字体和格式     为了保证示例程序的运行 必须安装Java sdk 和Jakarta POI Jakarta POI的Web站点是:      创建Excel 文档   示例 将演示如何利用Jakarta POI API 创建Excel 文档      示例 程序如下   import apache poi hssf usermodel HSSFWorkbook;  import apache poi hssf usermodel HSSFSheet;  import apache poi hssf usermodel HSSFRow;  import apache poi hssf usermodel HSSFCell;  import java io FileOutputStream;  public class CreateXL      /** Excel 文件要存放的位置 假定在D盘JTest目录下*/     public static String outputFile= D:/JTest/ gongye xls ;     public static void main(String argv[])     try      // 创建新的Excel 工作簿      HSSFWorkbook workbook = new HSSFWorkbook();      // 在Excel工作簿中建一工作表 其名为缺省值        // 如要新建一名为 效益指标 的工作表 其语句为         // HSSFSheet sheet = workbook createSheet( 效益指标 );      HSSFSheet sheet = workbook createSheet();      // 在索引 的位置创建行(最顶端的行)      HSSFRow row = sheet createRow((short) );      //在索引 的位置创建单元格(左上端)    HSSFCell cell = row createCell((short) );    // 定义单元格为字符串类型    cell setCellType(HSSFCell CELL_TYPE_STRING);    // 在单元格中输入一些内容    cell setCellValue( 增加值 );    // 新建一输出文件流    FileOutputStream fOut = new FileOutputStream(outputFile);    // 把相应的Excel 工作簿存盘    workbook write(fOut);    fOut flush();    // 操作结束 关闭文件    fOut close();    System out println( 文件生成 );     catch(Exception e)     System out println( 已运行 xlCreate() : + e );             读取Excel文档中的数据   示例 将演示如何读取Excel文档中的数据 假定在D盘JTest目录下有一个文件名为gongye xls的Excel文件     示例 程序如下     import apache poi hssf usermodel HSSFWorkbook;  import apache poi hssf usermodel HSSFSheet;  import apache poi hssf usermodel HSSFRow;  import apache poi hssf usermodel HSSFCell;  import java io FileInputStream;  public class ReadXL    /** Excel文件的存放位置 注意是正斜线*/   public static String fileToBeRead= D:/JTest/ gongye xls ;   public static void main(String argv[])    try    // 创建对Excel工作簿文件的引用    HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));    // 创建对工作表的引用     // 本例是按名引用(让我们假定那张表有着缺省名 Sheet )    HSSFSheet sheet = workbook getSheet( Sheet );    // 也可用getSheetAt(int index)按索引引用     // 在Excel文档中 第一张工作表的缺省索引是     // 其语句为 HSSFSheet sheet = workbook getSheetAt( );    // 读取左上端单元    HSSFRow row = sheet getRow( );    HSSFCell cell = row getCell((short) );    // 输出单元内容 cell getStringCellValue()就是取所在单元的值    System out println( 左上端单元是 + cell getStringCellValue());    catch(Exception e)     System out println( 已运行xlRead() : + e );             设置单元格格式   在这里 我们将只介绍一些和格式设置有关的语句 我们假定workbook就是对一个工作簿的引用 在Java中 第一步要做的就是创建和设置字体和单元格的格式 然后再应用这些格式      创建字体 设置其为红色 粗体   HSSFFont font = workbook createFont();  font setColor(HSSFFont COLOR_RED);  font setBoldweight(HSSFFont BOLDWEIGHT_BOLD);      创建格式   HSSFCellStyle cellStyle= workbook createCellStyle();  cellStyle setFont(font);      应用格式   HSSFCell cell = row createCell((short) );  cell setCellStyle(cellStyle);  cell setCellType(HSSFCell CELL_TYPE_STRING);  cell setCellValue( 标题 );     总之 如本篇文章所演示的一样 Java程序员不必担心Excel工作表中的数据了 利用Jakarta POI API 我们就可以轻易的在程序中存取Excel文档 lishixinzhi/Article/program/Java/JSP/201311/19396

Java基础学习总结(194)—— Java 多线程 + List 分段完美解决导入等批量更新场景问题

整体流程图

整体流程图

步骤

  • 获取需要进行批量更新的大集合A,对大集合进行拆分操作,分成N个小集合 A-1 ~ A-N 。

  • 开启线程池,针对集合的大小进行调参,对小集合进行批量更新操作,对流程进行控制,控制线程执行顺序。

1、按照指定大小拆分集合的工具类

import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;

import java.util.List;

/**
 * 拆分结合工具类
 */
public class SplitListUtils 
    /**
     * 拆分集合
     *
     * @param <T> 泛型对象
     * @param resList 需要拆分的集合
     * @param subListLength 每个子集合的元素个数
     * @return 返回拆分后的各个集合组成的列表
     * 代码里面用到了guava和common的结合工具类
     **/
    public static <T> List<List<T>> split(List<T> resList, int subLi

以上是关于Java操作Excel完美解决方案的主要内容,如果未能解决你的问题,请参考以下文章

js控制excel打印完美解决方案

使用 easypoi 导出 excel 实现动态列,完美解决!

完美解决 ImportError: Missing optional dependency ‘openpyxl‘.

Java批量更新太慢?多线程+List分段完美解决!

java 外壳加密,完美解决

layui——数据表格显示图片不全的完美解决方案