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

Wed Oct 19, 2022 8:27 am

具体报错为
Exception in thread "main" java.lang.IllegalAccessError: class com.spire.office.packages.sprkzh (in unnamed module @0x21507a04) cannot access class sun.security.action.GetPropertyAction (in module java.base) because module java.base does not export sun.security.action to unnamed module @0x21507a04
at com.spire.office.packages.sprkzh.spr▃┢(Unknown Source)
at com.spire.office.packages.sprkzh.spr┽┍(Unknown Source)
at com.spire.office.packages.sprkzh.<init>(Unknown Source)
at com.spire.office.packages.sprfqg.<init>(Unknown Source)
at com.spire.office.packages.sprhqg.<init>(Unknown Source)
at com.spire.xls.core.spreadsheet.XlsWorkbook.<init>(Unknown Source)
at com.spire.xls.Workbook.<init>(Unknown Source)
at Copy2.main(Copy2.java:6)
代码为
import com.spire.xls.*;

public class Copy2 {
public static void main(String[] args) {
//加载文档1,并获取第一张工作表
Workbook wb1 = new Workbook();
wb1.loadFromFile("test1.xlsx");
Worksheet sheet1 = wb1.getWorksheets().get(0);

//加载文档2,获取第三张工作表,并将文档1中的工作表内容复制到该工作表
Workbook wb2 = new Workbook();
wb2.loadFromFile("test2.xlsx");
Worksheet sheet2 = wb2.getWorksheets().get(2);
sheet2.setName("Copied");
sheet2.copyFrom(sheet1);

//保存文档
wb2.saveToFile("Copy2.xlsx",FileFormat.Version2013);
}
}
我多使用的为IntelliJIdea2021.2,jdk-17.0.1,使用的使用免费的Spire.office for Java包,
pom.xml文件为
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.office.free</artifactId>
<version>5.3.1</version>
</dependency>
</dependencies>
我很喜欢这个包的功能,希望在试用成功之后购买正式版,但是现在我希望我能解决这个问题,真的很重要。感谢您的回答

myfoxforever
 
Posts: 3
Joined: Wed Oct 19, 2022 8:17 am

Wed Oct 19, 2022 10:11 am

您好,

感谢您的留言。
您的这个问题与JDK的版本有关,请检查你项目的jdk版本和本地计算上安装的jdk版本是否匹配。如果是匹配的,请提供您的原文档来帮助我们做进一步调查。您可以将文档放帖子的附件中上传也可以发送到我们的邮箱中(support@e-iceblue.com)。

Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 1010
Joined: Tue Mar 08, 2022 2:02 am

Wed Oct 19, 2022 10:29 am

你好,我已经讲源码文件发送至您的邮箱,麻烦您查看一下。
我的电脑上使用的是jdk-17.0.5
项目的也是

myfoxforever
 
Posts: 3
Joined: Wed Oct 19, 2022 8:17 am

Wed Oct 19, 2022 11:39 am

值得一提的是,我使用这个包,操作word是成功的,我读取了word表格的内容并输出,这十分成功

myfoxforever
 
Posts: 3
Joined: Wed Oct 19, 2022 8:17 am

Thu Oct 20, 2022 9:54 am

您好,

感谢您的反馈。
经过进一步调查,我使用Open Jdk17复现了您的问题,但从我们开发团队团队那儿得知:免费版的Spire.Office还没有完全兼容适配一些高版本的Jdk,所以当使用一些高版本的jdk时就会出现这个问题,我这边使用JDK1.8或者JDK13测试您的这个场景是没有问题的。
另外,我们最新的商业版Spire.Office7.10.1是适配兼容高版本的JDK的,如果您需要评估我们的商业版,我们可以为您提供一个月免费的license来帮助您移除红色水印和功能限制。如果您需要的话,请联系我们的销售部门(sales@e-iceblue.com)。

Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 1010
Joined: Tue Mar 08, 2022 2:02 am

Fri Dec 09, 2022 12:16 am

我的也是同样的问题,用jdk18也不行。基本一样的错误提示,错误语句出现在Workbook workbook = new Workbook();这一句。

bhncn126.com
 
Posts: 2
Joined: Thu Dec 08, 2022 11:59 pm

Fri Dec 09, 2022 7:58 am

bhncn126.com wrote:我的也是同样的问题,用jdk18也不行。基本一样的错误提示,错误语句出现在Workbook workbook = new Workbook();这一句。

您好,

使用Oracle OpenJDK version 18.0.2测试之后,我们复现了您的问题,Spire.Office免费版还没有完全兼容高版本JDK,由于我们不定期更新免费版本,所以建议您降低JDK版本为13、11或者8等这些兼容的版本。
此外我们的最新商业版Spire.Office for Java 7.11.2已完全兼容高版本JDK,如果您需要评估我们的商业版,我们可以为您提供一个月免费的license来帮助您移除限制。如果您需要的话,请联系我们的销售部门(sales@e-iceblue.com)。

Sincerely,
Triste
E-iceblue support team
User avatar

Triste.Dai
 
Posts: 1000
Joined: Tue Nov 15, 2022 3:59 am

Sat Dec 10, 2022 2:16 am

换了个低版本的jdk好用了。测试了下,我最高只能用到openjdk 15.0.2 (build 15.0.2+9)这个版本。

bhncn126.com
 
Posts: 2
Joined: Thu Dec 08, 2022 11:59 pm

Mon Dec 12, 2022 3:49 am

bhncn126.com wrote:换了个低版本的jdk好用了。测试了下,我最高只能用到openjdk 15.0.2 (build 15.0.2+9)这个版本。

您好,

感谢您的反馈。
如果您还有其他问题,欢迎随时联系我们。

Sincerely,
Triste
E-iceblue support team
User avatar

Triste.Dai
 
Posts: 1000
Joined: Tue Nov 15, 2022 3:59 am

Return to 中文技术支持