Excel有超出印刷范围的数据

SvgSaveOptions excel转svg的时候excel有超出印刷范围的数据,怎么才能把超出的数据也转成svg输出到第二页

@jishangyang

要将超出印刷范围的数据转换为SVG并输出到第二页,您可以使用Aspose.Cells的功能来处理Excel文件并进行SVG转换。以下是一个基本的步骤指南,帮助您实现这一目标:

  1. 设置输出选项:在转换为SVG之前,您需要配置输出选项,确保每个工作表的内容都能正确显示。您可以使用ImageOrPrintOptions类来设置输出格式为SVG,并确保每个工作表的内容都在单独的页面上显示。

  2. 加载Excel文件:使用Workbook类加载您的Excel文件。

  3. 遍历工作表:遍历每个工作表,并为每个工作表创建一个SheetRender对象。这个对象将用于将工作表渲染为SVG格式。

  4. 渲染为SVG:使用SheetRender对象的ToImage方法将工作表渲染为SVG文件。确保在渲染时设置适当的选项,以便处理超出印刷范围的数据。

  5. 保存SVG文件:将渲染的SVG文件保存到指定的目录中。

以下是一个示例代码,展示了如何实现上述步骤:

import com.aspose.cells.*;

public class ExcelToSVG {
    public static void main(String[] args) {
        // 加载Excel文件
        Workbook workbook = new Workbook("path/to/your/excel/file.xlsx");

        // 设置图像或打印选项
        ImageOrPrintOptions options = new ImageOrPrintOptions();
        options.setSaveFormat(SaveFormat.SVG);
        options.setOnePagePerSheet(true); // 每个工作表输出为一页

        // 遍历每个工作表
        for (int i = 0; i < workbook.getWorksheets().getCount(); i++) {
            Worksheet sheet = workbook.getWorksheets().get(i);
            SheetRender sr = new SheetRender(sheet, options);
            // 渲染为SVG
            sr.toImage(0, "path/to/output/svg/sheet" + (i + 1) + ".svg");
        }
    }
}

通过上述代码,您可以将Excel文件中的所有工作表转换为SVG格式,并确保超出印刷范围的数据也能正确输出到相应的SVG文件中。请根据您的需求调整文件路径和其他参数。

如果您在实现过程中遇到任何问题,欢迎随时询问!

@jishangyang ,

超过印刷范围,你指的是worksheet的打印区域么? 如果是,请清除打印区域,以输出打印区域外的数据:

Worksheet worksheet = ... //get worksheet

worksheet.getPageSetup().setPrintArea(null);