为有中文需求的客户提供多渠道中文技术支持.

Wed Apr 27, 2022 11:40 am

请问Spire.XLS如何复制迷你趋势图到其他sheet?
背景是有这么个需求:将excel的所有sheet合并到一个sheet中,其中sheet中包含迷你趋势图;
目前的做法是新建一个excel,将原excel的所有sheet复制到新excel的sheet中,目前测试结果是数据都没问题,但是迷你趋势图为空,不展示趋势图;

shepherdx
 
Posts: 5
Joined: Wed Apr 27, 2022 11:33 am

Thu Apr 28, 2022 6:08 am

您好,

感谢您的咨询。
你使用的是Spire.XLS for Java还是Spire.XLS for.NET?另外,能否提供您的输入excel文件以便我们更准确的调查解决您的问题。您可以直接将文件附在这里或通过电子邮件(support@e-iceblue.com)发送给我们。提前感谢。

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1643
Joined: Wed Apr 07, 2021 2:50 am

Thu Apr 28, 2022 2:10 pm

Annika.Zhou wrote:您好,

感谢您的咨询。
你使用的是Spire.XLS for Java还是Spire.XLS for.NET?另外,能否提供您的输入excel文件以便我们更准确的调查解决您的问题。您可以直接将文件附在这里或通过电子邮件(support@e-iceblue.com)发送给我们。提前感谢。

Sincerely,
Annika
E-iceblue support team


您好!我使用的是Spire.XLS for Java,excel文件已上传附件,代码如下,劳烦帮忙看下,谢谢!
public static void sheetMergeToOne(InputStream sourceExcel, String targetExcelURI, String sheetName, int splitBlankRow) {
Workbook newBook = new Workbook();
newBook.getWorksheets().clear();
Worksheet toSheet = newBook.getWorksheets().add(sheetName);

Workbook tempBook = new Workbook();
tempBook.loadFromStream(sourceExcel);

int rowStart = 1;
for (Object obj : tempBook.getWorksheets()) {
Worksheet fromSheet = (Worksheet) obj;
// 将原sheet名设置为新的表格表头名称 & 加粗
CellStyle tableTitleStyle = newBook.getStyles().addStyle("Header Style");
tableTitleStyle.getFont().isBold(true);
CellRange header = toSheet.getCellRange(rowStart++, 1);
header.setValue(fromSheet.getName());
header.setStyle(tableTitleStyle);
// 复制sheet指定单元格范围中的数据
CellRange cellRange = fromSheet.getRange();
fromSheet.copy(cellRange, toSheet, rowStart, 1, true, true);
// 分割行
rowStart += cellRange.getRowCount() + splitBlankRow;
}
// toSheet.getAllocatedRange().autoFitColumns();
newBook.saveToFile(targetExcelURI);
newBook.dispose();
}

shepherdx
 
Posts: 5
Joined: Wed Apr 27, 2022 11:33 am

Fri Apr 29, 2022 1:44 am

您好,

感谢您的反馈。
抱歉您的excel文件我们没有接收到。我模拟了一个excel文件并进行了测试,确实发现结果文件中迷你折线图缺失。我已将这个问题记录到我们的问题跟踪系统,问题编号为SPIREXLS-3832。一旦问题解决了,我会及时通知您。
另外,为了确保我们完美解决您的问题,请将您的excel文件再次发送一份给我们。您可以直接将文件附在这里或通过电子邮件(support@e-iceblue.com)发送给我们。提前感谢。

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1643
Joined: Wed Apr 07, 2021 2:50 am

Fri Apr 29, 2022 9:50 am

Annika.Zhou wrote:您好,

感谢您的反馈。
抱歉您的excel文件我们没有接收到。我模拟了一个excel文件并进行了测试,确实发现结果文件中迷你折线图缺失。我已将这个问题记录到我们的问题跟踪系统,问题编号为SPIREXLS-3832。一旦问题解决了,我会及时通知您。
另外,为了确保我们完美解决您的问题,请将您的excel文件再次发送一份给我们。您可以直接将文件附在这里或通过电子邮件(support@e-iceblue.com)发送给我们。提前感谢。

Sincerely,
Annika
E-iceblue support team


收到,感谢!!搭车请教另外一个问题:想咨询一下 sheet.getAllocatedRange().autoFitColumns(), getAllocatedRange这个方法具体做了哪些操作,和环境相关吗?同样的使用方式在本地可行,在线上报npe,这行代码注释掉后,可正常运行;或者自适应调整excel的列宽,有什么比较安全的方式吗?谢谢!

shepherdx
 
Posts: 5
Joined: Wed Apr 27, 2022 11:33 am

Fri Apr 29, 2022 10:09 am

您好,

感谢您的反馈。
sheet.getAllocatedRange()是获取sheet中所有使用的单元格,这个对环境没有要求。为了帮助我们快速有效的调查您的问题,请提供以下信息。您可以直接将它们附在这里或通过电子邮件(support@e-iceblue.com)发送给我们。提前感谢。
1)您的输入excel文件。
2)您的完整的测试代码。
3)您提到的“线上”的具体信息和操作。
另外,您可以使用sheet.autoFitColumn(2, 2, 5)代码来自适应调整列宽。

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1643
Joined: Wed Apr 07, 2021 2:50 am

Wed May 11, 2022 11:43 am

Annika.Zhou wrote:您好,

感谢您的反馈。
sheet.getAllocatedRange()是获取sheet中所有使用的单元格,这个对环境没有要求。为了帮助我们快速有效的调查您的问题,请提供以下信息。您可以直接将它们附在这里或通过电子邮件(support@e-iceblue.com)发送给我们。提前感谢。
1)您的输入excel文件。
2)您的完整的测试代码。
3)您提到的“线上”的具体信息和操作。
另外,您可以使用sheet.autoFitColumn(2, 2, 5)代码来自适应调整列宽。

Sincerely,
Annika
E-iceblue support team



这个原因定位到了,因为字体的缺失导致,建议错误提示可以提示明显一些,npe不大好定位问题

shepherdx
 
Posts: 5
Joined: Wed Apr 27, 2022 11:33 am

Wed May 11, 2022 11:44 am

Annika.Zhou wrote:您好,

感谢您的反馈。
抱歉您的excel文件我们没有接收到。我模拟了一个excel文件并进行了测试,确实发现结果文件中迷你折线图缺失。我已将这个问题记录到我们的问题跟踪系统,问题编号为SPIREXLS-3832。一旦问题解决了,我会及时通知您。
另外,为了确保我们完美解决您的问题,请将您的excel文件再次发送一份给我们。您可以直接将文件附在这里或通过电子邮件(support@e-iceblue.com)发送给我们。提前感谢。

Sincerely,
Annika
E-iceblue support team



请问这个问题解决了吗?

shepherdx
 
Posts: 5
Joined: Wed Apr 27, 2022 11:33 am

Thu May 12, 2022 1:31 am

您好,

感谢您的跟进。
复制迷你趋势图到其他sheet丢失的问题已经解决了。一旦新版本发布,我会及时通知您的。希望您能耐心等待。

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1643
Joined: Wed Apr 07, 2021 2:50 am

Wed Jun 08, 2022 9:27 am

您好,

感谢您的耐心等待。
我们发布的 Spire.XLS for Java版本: 12.6.0修复了SPIREXLS-3832的问题,欢迎下载我们最新版本进行测试。

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1643
Joined: Wed Apr 07, 2021 2:50 am

Return to 中文技术支持