gpt4 book ai didi

java - Apache POI autoSizeColumn() 无法正常工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:36 28 4
gpt4 key购买 nike

<分区>

我正在创建一个使用 apache poi 将信息写入 excel 文件的程序。在我将所有数据输入文件后,我在文件的每一列上调用 autoSizeColumn 方法。但它将列的大小调整为最后输入的单元格的宽度,有时不如列中的其他单元格大。我知道我正在正确使用它,不幸的是我现在没有互联网来发布任何代码,但我会尽可能更新。

好的,我希望我使用的是正确的代码标签,但它是:

public void writeFile() {
Workbook wb = new HSSFWorkbook();
Sheet s = wb.createSheet();
try {

FileOutputStream out = new FileOutputStream(
this.getSelectedFile());
// create a new workbook

// create a new sheet

// declare a row object reference
Row r = null;
// declare a cell object reference
Cell c = null;
// in case of plain ascii
wb.setSheetName(0, "Street Light Report");
// create a sheet with 30 rows (0-29)
// int rownum;
// short rownum;
// PrintWriter printOut = new PrintWriter(
// this.getSelectedFile());
String[] colName = { "Light Id", "Flagged",
"Malfunction", "Comments", "Location", "Date" };
// printOut.println("Light Id,Flagged,Malfunction,Comments,Location,Date");
Connections.connect();
String[][] data = Connections.searchForFlagged();
for (int i = 0; i < data.length; i++) {
r = s.createRow(i);
}
r.setRowNum(0);
for (int j = 0; j < 6; j++) {
c = r.createCell(j);
switch (j) {
case 0:
c.setCellValue(colName[j]);
break;
case 1:
c.setCellValue(colName[j]);
break;
case 2:
c.setCellValue(colName[j]);
break;
case 3:
c.setCellValue(colName[j]);
break;
case 4:
c.setCellValue(colName[j]);
break;
case 5:
c.setCellValue(colName[j]);
break;

}
}

for (int i = 0; i < data.length; i++) {

r.setRowNum(i + 1);
for (int j = 0; j < data[i].length; j++) {

c = r.createCell(j);

// System.out.println(data[i][j]);

switch (j) {
case 0:
c.setCellType(Cell.CELL_TYPE_NUMERIC);
c.setCellValue(Integer.parseInt(data[i][j]));
break;
case 1:
if (data[i][j].equals("true"))
c.setCellValue("Yes");
else
c.setCellValue("No");
break;
case 2:
if (data[i][j].equals("I"))
c.setCellValue("Intermittent");
else
c.setCellValue("Not Functional");
break;
case 3:
c.setCellValue(data[i][j]);
break;
case 4:
c.setCellValue(data[i][j]);
break;
case 5:
c.setCellValue(data[i][j]);
break;
}

}
}
wb.getSheetAt(0).setPrintGridlines(true);
for (int j = 0; j < 6; j++) {
s.autoSizeColumn(j);
}
wb.write(out);
out.close();
} catch (Exception ex) {

}
};

我会在这里张贴图片,但我需要代表。点,我才刚刚开始。

** 请注意,Connections 类是 JDBC 类,因此 java 可以从 mySQL 数据库中提取信息,它返回一个二维字符串数组 **

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com