为 ods 文件中的列设置边框和最佳宽度

Posted

技术标签:

【中文标题】为 ods 文件中的列设置边框和最佳宽度【英文标题】:Set border and optimal width to a column in a ods file 【发布时间】:2018-09-04 21:41:45 【问题描述】:

我试图找到一种方法,在创建 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);



【问题讨论】:

【参考方案1】:

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

    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));

【讨论】:

你试过了吗?因为我刚刚尝试过,我得到了一个错误。它说该方法不适用于参数(int)?知道吗? 是的,它适用于我推荐的 jopendocument 1.3。我来看看新版本有什么变化。

以上是关于为 ods 文件中的列设置边框和最佳宽度的主要内容,如果未能解决你的问题,请参考以下文章

PADS layout 怎么设置板框长度和宽度呀?

CSS如何怎么设置div边框颜色宽度和高度

CSS如何怎么设置div边框颜色宽度和高度?

为漂亮表中的列设置列宽

如何为 R Shiny 中的列设置小数宽度?

文本中的点:宽度/高度(em 和边框半径)