.xls和.xlsx的区别?

28 篇文章 0 订阅

.xls和.xlsx的区别?

.xls是03版Office Microsoft Office Excel 工作表的格式,用03版Office,新建Excel默认保存的Excel文件格式的后缀是.xls;
.xlsx是07版Office Microsoft Office Excel 工作表的格式,用07版Office,新建Excel默认保存的的Excel文件格式后缀是.xlsx。

07版的Office Excel,能打开编辑07版(后缀.xlsx)的Excel文件,也能打开编辑03版(后缀.xls)的Excel文件,都不会出现乱码或者卡死的情况。
但是,03版的Office Excel,就只能打开编辑03版(后缀.xls)的Excel文件;如果打开编辑07版(后缀.xlsx)的Excel文件,则可能出现乱码或者开始能操作到最后就卡死,以后一打开就卡死。

那么07版.xlsx的Excel文件,怎么才能在03版的Office Excel中打开呢?

也简单,举个例,你家里的电脑用的07版Office Excel,你在家里做好一个Excel的文件,你默认保存的话就是.xlsx格式;如果你要拷到公司电脑上用,公司的电脑是03版Office Excel,要是你直接拷过去的话,是没法用的;你得这样,在家里做Office Excel的时候,保存的时候,点击office按钮,采用另存为“97-2003 Excel 工作簿”,这样保存的格式就是03版的.xls格式,这样就实现.xlsx文件转换成.xls。这样再把.xls格式Excel文件拷到公司的电脑上就能用了,就OK了。

如果你家里的电脑是03版Office Excel,那么默认保存(.xls)就行,不管公司的电脑是03版的还是07版的Office。

对了有网友也需要问“office按钮”在哪里?打开Excel,最左上角上的那个“圈”就是。
抱歉,spire.xls.jar 不支持对 xlsx 文件设置打开密码和取消打开密码。你可以尝试使用 Apache POI 或者其他类似的库来实现该功能。以下是使用 Apache POI 设置 xlsx 文件打开密码的示例代码: ``` import org.apache.poi.poifs.crypt.EncryptionInfo; import org.apache.poi.poifs.crypt.Encryptor; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileOutputStream; public class XlsxEncryptionExample { public static void main(String[] args) throws Exception { // 加载 xlsx 文件 File inputFile = new File("example.xlsx"); Workbook workbook = new XSSFWorkbook(inputFile); // 设置加密信息 EncryptionInfo encryptionInfo = new EncryptionInfo(EncryptionInfo.VERSION_AES_128); Encryptor encryptor = encryptionInfo.getEncryptor(); encryptor.confirmPassword("password123"); // 加密文件 POIFSFileSystem fileSystem = new POIFSFileSystem(); encryptor.encryptDocument(fileSystem, workbook); // 保存加密后的文件 File outputFile = new File("example_encrypted.xlsx"); try (FileOutputStream fos = new FileOutputStream(outputFile)) { fileSystem.writeFilesystem(fos); } } } ``` 要取消 xlsx 文件的打开密码,只需要删除 `workbook.getCTWorkbook().getWorkbookProtection()` 中的 `workbookProtection` 元素即可。以下是示例代码: ``` import org.apache.poi.poifs.crypt.Decryptor; import org.apache.poi.poifs.crypt.EncryptionInfo; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class XlsxDecryptionExample { public static void main(String[] args) throws Exception { // 加载加密后的 xlsx 文件 File inputFile = new File("example_encrypted.xlsx"); POIFSFileSystem fileSystem = new POIFSFileSystem(new FileInputStream(inputFile)); EncryptionInfo encryptionInfo = new EncryptionInfo(fileSystem); Decryptor decryptor = Decryptor.getInstance(encryptionInfo); // 解密文件 if (!decryptor.verifyPassword("password123")) { throw new RuntimeException("Invalid password"); } try (FileOutputStream fos = new FileOutputStream("example_decrypted.xlsx")) { decryptor.getDataStream(fileSystem).transferTo(fos); } // 加载解密后的 xlsx 文件 Workbook workbook = new XSSFWorkbook(new FileInputStream("example_decrypted.xlsx")); // 取消打开密码 workbook.getCTWorkbook().unsetWorkbookProtection(); // 保存取消打开密码后的文件 try (FileOutputStream fos = new FileOutputStream("example_no_password.xlsx")) { workbook.write(fos); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值