XLS轉(zhuǎn)XLSX[C#,JavaScript]
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
工作中有一些2003版之前的Excel文件,現(xiàn)在想把他們批量轉(zhuǎn)換成2007+的格式,這里總結(jié)3種方法,復雜度依次遞增,完美度依次遞增。 1. JavaScript利用js-xlsx包 ,可以在NodeJs環(huán)境中進行xls到xlsx的轉(zhuǎn)換,非常簡單,示例代碼如下: const XLSX = require('xlsx'); var oldFile= XLSX.readFile('./test.xls'); XLSX.writeFile(oldFile, './test.xlsx'); 優(yōu)點 2. C# NPOINPOI是從Java的POI移植過來的,速度也非??欤枰趎uget安裝NPOI依賴, using NPOI.HSSF.UserModel; using NPOI.XSSF.UserModel; void ConvertWorkbook() { using (var streamRead = new FileStream(@"./test.xls", FileMode.Open, FileAccess.Read)) using (var streamWrite = new FileStream(@"./test.xlsx", FileMode.OpenOrCreate, FileAccess.Write)) { var book = new HSSFWorkbook(streamRead ); var newBook = new XSSFWorkbook(); var copiedSheets = Enumerable.Range(0, book.NumberOfSheets).Select(i => book.CloneSheet(i)); copiedSheets.Select((sheet, index) => new {sheet, index}).ToList() .ForEach(item => newBook.Insert(item.index, item.sheet)); newBook.Write(streamWrite); } } 優(yōu)點 3.C# Excel這個是必殺技,100%成功率和兼容性,先安裝nuget依賴, void ConvertWorkbook() { var app = new Microsoft.Office.Interop.Excel.Application {Visible = false}; var book = app.Workbooks.Open(@"./test.xls"); //注意,新的文件名沒后綴 book.SaveAs(Filename: @"./test", FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook); book.Close(); app.Quit(); } 優(yōu)點 該文章在 2023/12/30 1:00:20 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |