java - 如何在 Apache POI 单元格中设置最小宽度?

标签 java excel apache-poi

我正在用 Java 编写一个工具,使用 Apache POI API 将 XML 转换为 MS Excel。我想将最小单元格宽度设置为 100 像素。

如何在单元格中设置自定义宽度?

最佳答案

我简单地使用了这个函数 sheet.setColumnWidth(colIdx, width*256) 来设置列宽,我的应用程序使用 1...n 值标度并且 *256 是必须的完成后看到好的结果。

此示例代码列出了导入,我(可能)正在使用 SXSSF 序列化编写器,但 POI 文档有点难以理解所有差异。此示例首先打开一个基本 xlsx 文件,然后我将值写入数据表。基本文件中有一些我在 Excel 中制作的图表和工作表,不想在 POI 中重新创建。

import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataFormat;
//import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;
//import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;

  public void doIt() {
        OPCPackage opc =  OPCPackage.open(file);
        XSSFWorkbook xwb = new XSSFWorkbook(opc); // (XSSFWorkbook)WorkbookFactory.create(file);        
        SXSSFWorkbook wb = new SXSSFWorkbook(xwb, 500); //XSSFWorkbook wb = xwb;
        ...clip....do something...
        try { wb.dispose(); } catch (Exception e) { }
        try { opc.close(); } catch (Exception e) { }
    }

关于java - 如何在 Apache POI 单元格中设置最小宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28515515/

相关文章:

java - 使用 apache poi 读取 Excel 文件时出现异常

java - jsp渲染后的AOP切入点

java - 一些具有访问者模式的非常通用的代码

java - 图形不动

excel - 如何设置依赖于具有可变位置的另一个单元格的单元格值

JAVA+POI API Excel-需要增加列宽

java - Jenkins 无法从 Oracle 下载 JDK

vba - 激活特定的功能区选项卡

vba - 使用事件单元格查找范围名称

java - 将 Excel 工作表设置为只读