1

我试图找到一种方法,在创建 ods 文件之前 [或在创建文件之后 - 我不介意] 为每个单元格设置边框和每列的最佳宽度。我正在用 Java 编写程序,我正在使用 jopendocument 库创建包含丰富方法和工具的 ods 文件,但不幸的是,我在文档中找不到任何方法来设置边框或列的最佳宽度所以我想知道是否有人知道图书馆或这样做的方法。

public static void QuadernoFatture() throws FileNotFoundException, IOException {

    fatture.sort(Comparator.comparing(StrutturaFattura::getNumero));

    final Object[][] data = new Object[fatture.size()][7];
    for(int i=0;i<fatture.size();i++) {
        data[i]=new Object[] {fatture.get(i).cliente,fatture.get(i).numero,fatture.get(i).imponibile,fatture.get(i).iva,
                fatture.get(i).TotFatt,fatture.get(i).r_a,fatture.get(i).TotPagare};
    }

    fatture.clear();

    String[] columns = new String[] {"CLIENTE" , "N° FATTURA" , "IMPONIBILE" , "IVA" , "TOTALE FATTURA" , "R_ACCONTO" , "TOTALE DA PAGARE"};

    TableModel model = new DefaultTableModel(data,columns);

    Date now = new Date();
    SimpleDateFormat dateFormatter = new SimpleDateFormat("MMMM_yyyy");
    final File file = new File("/home/max/Documents/quadernoFatture/QuadernoFatture_" +dateFormatter.format(now).toString()+".ods");
    SpreadSheet.createEmpty(model).saveAs(file);
    OOUtils.open(file);


}
4

1 回答 1

2

我不知道是否可以设置宽度匹配内容,但我可以向您展示如何设置列的特定宽度。换行:

    SpreadSheet.createEmpty(model).saveAs(file);

带线:

    SpreadSheet newSpreadSheet = SpreadSheet.createEmpty(model);
    newSpreadSheet.getFirstSheet().getColumn(0).setWidth(100);
    newSpreadSheet.getFirstSheet().getColumn(1).setWidth(200);
    newSpreadSheet.saveAs(file);

编辑:

那是针对 1.3 版的。对于 1.4rc2 版本,请使用:

    newSpreadSheet.getFirstSheet().getColumn(0).setWidth(Length.MM(100));
    newSpreadSheet.getFirstSheet().getColumn(1).setWidth(Length.INCH(5));
于 2018-09-05T17:16:33.210 回答