我正在用 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/