Free Support Forum - aspose.com

Excel导出pdf增加边框


#1

在excel文件导出时如果原文件没有边框是否可以通过某种操作增加一些默认灰色边框,类似于MS的Excel打开的那种形式


#2

@wdacat

您能否分享一下MS Excel创建的源文件和预期输出。 我们将在分析后提供反馈。如果您正在使用.NET或Java API,还要提一下。


#3

image.png (11.8 KB)
展示结果就想在excel软件中打开一样有默认的浅灰色网格
我们使用的是java版本的aspose cell


#4

@wdacat

请分享我们要求分析的文件。


#5

测试文件.zip (7.6 KB)


#6

@wdacat,

谢谢你的模板文件。

我认为你想在渲染为PDF文件格式时打印网格线。请参阅以下示例代码以了解您的参考需求:
例如
示例代码:

Workbook book = new Workbook("f:\\files\\508+=+·+F+++++»¦ñ+˜+++G.xlsx");
        Worksheet sheet = book.getWorksheets().get(0);
        
        //Show the sheet gridlines.
        sheet.getPageSetup().setPrintGridlines(true);
        book.save("f:\\files\\out1.pdf");

希望这个对你有帮助。


#7

这个增加的虚线表格样式能否自定义,因为显示效果并不是特别好
image.png (18.8 KB)


#8

@wdacat,

谢谢截图。

那么,在这种情况下,你不应该让网格线可见。相反,您应该将边框设置为数据范围,请参阅更新的示例代码供您参考:
例如
示例代码:

Workbook book = new Workbook("f:\\files\\508+=+·+F+++++»¦ñ+˜+++G.xlsx");
        Worksheet sheet = book.getWorksheets().get(0);
        
        //int maxRow = sheet.getCells().getMaxDataRow();
        //int maxCol = sheet.getCells().getMaxDataColumn();
        
    Range range = sheet.getCells().getMaxDisplayRange();	
         
       Style style = book.createStyle();
                    
        style.setBorder(BorderType.TOP_BORDER, CellBorderType.THIN, Color.getBlack());
        style.setBorder(BorderType.BOTTOM_BORDER, CellBorderType.THIN, Color.getBlack());
        style.setBorder(BorderType.LEFT_BORDER, CellBorderType.THIN, Color.getBlack());
        style.setBorder(BorderType.RIGHT_BORDER, CellBorderType.THIN, Color.getBlack());

       StyleFlag flag = new StyleFlag();
        //Set borders on 
       flag.setBorders(true);	

        //apply the style to the range (which contains all the data cells in the worksheet)
        range.applyStyle(style, flag); 
        
        book.save("f:\\files\\out1.pdf");

希望这个对你有帮助。