文檔轉換在工作可能會比較常用到,在本篇博客中將介紹用免費類庫Free Spire.XLS for .NET來轉換Excel文檔爲多種格式的文檔,如PDF、Image、HTML、TXT、XML、XPS、CSV、ODS、SVG、EMF、XLSM等
本文轉自博客:http://blog.51cto.com/eiceblue/2087681
類庫獲取地址:Free Spire.XLS for .NET(dll文件在安裝路徑下的Bin文件夾中獲取)
1.Excel轉PDF
這裏轉整個Excel文檔爲PDF,也可以轉指定工作表爲PDF
//創建一個Wordbook類對象,並加載需要轉換的Excel文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\test.xlsx",ExcelVersion.Version2010); //獲取第一個工作表 //Worksheet sheet = workbook.Worksheets[0]; //將Excel文檔保存爲PDF,並打開轉換後的PDF文檔 workbook.SaveToFile("result.pdf", Spire.Xls.FileFormat.PDF); System.Diagnostics.Process.Start("result.pdf");
測試效果
1.轉整個文檔
2.轉指定工作表
2.Excel轉Image
2.1 將指定工作表轉爲image
//初始化一個Workbook實例,並加載一個工作簿文件 Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx"); //將第一張工作表保存爲圖片 Worksheet sheet = workbook.Worksheets[0]; sheet.SaveToImage("sample.jpg");
測試效果:
2.2 將指定範圍的單元格轉爲image
//創建一個Workbook類實例,並從文件中加載一個工作表 Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\test.xlsx"); //獲取文檔中的第一個工作表 Worksheet sheet = workbook.Worksheets[0]; //指定單元格範圍,保存爲想要的圖片格式 sheet.SaveToImage(3, 1, 4, 3).Save("image1.png", ImageFormat.Png); sheet.SaveToImage(5, 1, 19,3).Save("image2.jpeg", ImageFormat.Jpeg); sheet.SaveToImage(20, 1, 21, 3).Save("image3.bmp", ImageFormat.Bmp); sheet.SaveToImage(22, 1, 23, 3).Save("image4.bmp", ImageFormat.Bmp);
測試效果:
3. Excel轉html
//創建一個workbook類對象,並加載Excel文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx"); //獲取第一個工作表 Worksheet sheet = workbook.Worksheets[0]; //保存爲Html文件並打開文檔 sheet.SaveToHtml("sample.html"); System.Diagnostics.Process.Start("sample.html");
測試效果:
4.Excel轉txt
Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample1.xlsx"); Worksheet sheet = workbook.Worksheets[0]; sheet.SaveToFile("ExceltoTxt.txt", " ", Encoding.UTF8);
測試效果:
5. Excel轉xml
Workbook wb = new Workbook(); wb.LoadFromFile(@"C:\Users\Administrator\Desktop\sample1.xlsx"); wb.SaveAsXml("result.xml");
測試效果:
6. Excel轉xps
Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx", ExcelVersion.Version2010); workbook.SaveToFile("result.xps", Spire.Xls.FileFormat.XPS);
測試效果:
7. Excel轉csv
Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\test.xlsx"); Worksheet sheet = workbook.Worksheets[0]; sheet.SaveToFile("sample.csv", " ", Encoding.UTF8);
測試效果:
8. Excel轉ods
Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\test.xlsx"); workbook.SaveToFile("Result.ods", FileFormat.ODS);
測試效果:
9. Excel轉svg
//創建一個Wordkbook類對象並加載Excel文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx"); //遍歷Excel工作簿,調用方法ToSVGStream()將文件保存到流,並通過流創建SVG文件 for (int i = 0; i < workbook.Worksheets.Count; i++) { FileStream fs = new FileStream(string.Format("E:\\Program Files\\sheet-{0}.svg", i), FileMode.Create); workbook.Worksheets[i].ToSVGStream(fs, 0, 0, 0, 0); fs.Flush(); fs.Close(); }
測試效果:
10. Excel轉emf
//初始化Workbbok類實例,並加載Excel文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\test.xlsx"); //獲取第一個工作表 Worksheet sheet = workbook.Worksheets[0]; //將指定大小範圍的工作表保存爲Emf格式 sheet.SaveToEMFImage("result.emf", 1, 1, 19, 6, System.Drawing.Imaging.EmfType.EmfPlusDual);
測試效果:
11. Excel轉xlsm
Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\test.xlsx", ExcelVersion.Version97to2003); workbook.SaveToFile("result.xlsm", FileFormat.Version2007);
測試效果: