Open XML 是由 Microsoft 开发的一种基于 XML 的文件格式,允许用户存储和交换各种类型的文件,如文字处理文档、电子表格、演示文稿、图表和图示。它在各种应用程序得到了广泛的认可与支持,是长期数据保存的可靠选择。
在某些情况下,您可能需要将 Excel 文件转换为 Open XML 格式,以确保这些文件可以被其他软件打开和读取。另一方面,也可能有用户需要将 Open XML 文件转换为 Excel 格式,以利用 Excel 中可用的数据分析工具,如数据透视表和图表。在本文中,我们将介绍如何使用 Spire.XLS for .NET 将 Excel 转换为 Open XML 或将 Open XML 转换为 Excel。
首先,您需要将 Spire.XLS for .NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
PM> Install-Package Spire.XLS若要将 Excel 文件转换为 Open XML,您需要使用 Workbook.LoadFromFile(string fileName) 方法加载 Excel 文件,然后调用 Workbook.SaveAsXml(string fileName) 方法将其保存为 Open XML 格式。
以下步骤演示了如何将 Excel 文件转换为 Open XML:
using Spire.Xls;
namespace ConvertExcelToOpenXML
{
internal class Program
{
static void Main(string[] args)
{
//初始化Workbook类的实例
Workbook workbook = new Workbook();
//加载Excel文件
workbook.LoadFromFile("示例文档.xlsx");
//将Excel文件保存为Open XML格式
workbook.SaveAsXml("ExcelToXML.xml");
}
}
}Imports Spire.Xls
Namespace ConvertExcelToOpenXML
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'初始化Workbook类的实例
Dim workbook As Workbook = New Workbook()
'加载Excel文件
workbook.LoadFromFile("示例文档.xlsx")
'将Excel文件保存为Open XML格式
workbook.SaveAsXml("ExcelToXML.xml")
End Sub
End Class
End Namespace
若要将 Open XML 文件转换为 Excel,您需要使用 Workbook.LoadFromXml(string fileName) 方法加载 Open XML 文件,然后调用 Workbook.SaveToFile(string fileName, ExcelVersion version) 方法将其保存为 Excel 格式。
以下步骤演示了如何将 Open XML 文件转换为 Excel:
using Spire.Xls;
namespace ConvertOpenXMLToExcel
{
internal class Program
{
static void Main(string[] args)
{
//初始化Workbook类的实例
Workbook workbook = new Workbook();
//加载Open XML文件
workbook.LoadFromXml("ExcelToXML.xml");
//将Excel格式保存为Open XML文件
workbook.SaveToFile("XMLToExcel.xlsx", ExcelVersion.Version2016);
}
}
}Imports Spire.Xls
Namespace ConvertOpenXMLToExcel
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'初始化Workbook类的实例
Dim workbook As Workbook = New Workbook()
'加载Open XML文件
workbook.LoadFromXml("ExcelToXML.xml")
'将Excel格式保存为Open XML文件
workbook.SaveToFile("XMLToExcel.xlsx", ExcelVersion.Version2016)
End Sub
End Class
End Namespace
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Office 8.4.1 已发布。在该版本中,Spire.PDF 提升了打印 PDF 文档的速度和转换 PDF 文档到图片的速度;Spire.Doc 支持 Word2013 表格的新增样式;Spire.Spreadsheet 支持保存到PDF文档。此外,许多已知问题也在该版本中被成功修复。详情请阅读以下内容。
该版本涵盖了最新版的 Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.DocViewer, Spire.Barcode, Spire.DataExport。
版本信息如下:
https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html
新功能:
问题修复:
新功能:
问题修复:
新功能:
this.spreadsheet1.SaveToFile("1.pdf", FileFormatType.PDF);问题修复:
Spire.Doc 11.4.12发布。本次更新支持了Word2013表格的新增样式。同时,该版本还增强了 Word 到 PDF的转换。此外,许多已知问题也在该版本中成功被修复,如:修复了加载文档然后保存到新文档后图片丢失的问题。详情请阅读以下内容。
新功能:
问题修复:
Spire.PDF 9.4.12 已发布。该版本提升了打印 PDF 文档的速度和转换 PDF 文档到图片的速度。该版本还增强了 PDF 到 Word、SVG 和图片的转换。此外,本次更新还修复了大量已知问题,如压缩 PDF 文档中的图片后,PDF 文档变大的问题。详情请阅读以下内容。
新功能:
问题修复:
Spire.Cloud 8.4.8已发布。在本次更新中,该版本支持了禁止下载文档的功能,并支持了在预览模式下不显示光标的功能。此外,本次更新还修复了一些已知问题,如:修复了拷贝项目编号格式的文本粘贴到在线编辑文档中项目符号样式不一致的问题。详情请阅读以下内容。
问题修复:
Spire.PDF for Java 9.4.9 已发布。改版本支持了判断 PDF 流文档是否被加密的功能,还增强了 PDF 文档到 Word、HTML 以及图片的转换。此外,改版本还修复了一些已知问题,如用反射使用产品时报错的问题。详情请阅读以下内容。
新功能:
boolean result = PdfDocument.isPasswordProtected(PDFstream);问题修复:
在我司全体员工的不懈努力下,Spire.XLS for Python 已于2023年4月上线。目前 Python 产品已开放下载,欢迎大家试用。更多的 Python 产品也即将推出,敬请期待。
Spire.XLS for Python 是一款专业的 Python Excel 开发组件,可以用于各种 Python 平台。Spire.XLS for Python 提供了一个对象模型 Excel 开发组件,使开发人员可以快速地在 Python 平台上完成对 Excel 的各种编程操作,如根据模板创建新的 Excel 文档,编辑现有 Excel 文档以及对 Excel 文档进行转换。
获取 Spire.XLS for Python 请点击:https://www.e-iceblue.cn/Downloads/Spire-XLS-Python.html
Spire.Office for Android via Java 8.4.0 已发布。在该版本中,Spire.Presentation for Android via Java支持设置自定义字体;Spire.Doc for Android via Java 增强了Word 到 PDF的转换;Spire.PDF for Android via Java 增强了 PDF 到 DOCX 的转换。此外,许多已知问题也在该版本中被成功修复。详情请阅读以下内容。
获取Spire.Office for Android via Java 8.4.0请点击:https://www.e-iceblue.cn/Downloads/office-for-android-via-java.html
新功能:
Presentation ppt = new Presentation();
ppt.loadFromFile(PptFile);
ppt.setCustomFontsFolder(fontFolderPath);
ppt.saveToFile(PdfFile, FileFormat.PDF);问题修复:
问题修复:
问题修复:
Spire.Doc for Android via Java 11.4.1 已发布。该版本修复了转换 Word 到 PDF 后图片丢失的问题。详情请阅读以下内容。
问题修复:
https://www.e-iceblue.cn/Downloads/doc-for-android-via-java.html
Spire.Office for Java 8.4.5 已发布。在该版本中,Spire.Doc for Java 新增支持 Docx2016 和 Docx2019 文件格式;Spire.Presentation for Java 支持使用自定义布局添加新幻灯片;Spire.PDF for Java 优化了压缩图片时内存的占用;Spire.XLS for Java 增强了 Excel 到 HTML 和 PDF 的转换。此外,许多已知问题也在该版本中被成功修复。详情请阅读以下内容。
获取 Spire.Office for Java 8.4.5请点击:https://www.e-iceblue.cn/Downloads/Spire-Office-JAVA.html
新功能:
Spire.Doc.FileFormat.Docx2016
Spire.Doc.FileFormat.Docx2019document.updateTOCPageNumbers();
document.updateTOCPageNumbers(TableOfContent toc); Document doc = new Document();
doc.loadFromFile(inputFile);
Comment comment = doc.getComments().get(0);
CommentsCollection comCollect = comment.getReplyCommentItems();
String author = comCollect.get(0).getFormat().getAuthor();
Date dateTime = comCollect.get(0).getFormat().getDateTime();
String replayContent = "";
IDocumentObjectCollection objCollect = comCollect.get(0).getBody().getChildObjects();
for (int i = 0; i < objCollect.getCount(); i++) {
DocumentObject obj = objCollect.get(i);
if (obj.getDocumentObjectType() == DocumentObjectType.Paragraph) {
replayContent = ((Paragraph) obj).getText();
}
}问题修复:
新功能:
Presentation ppt = new Presentation();
ppt.loadFromFile(inputFile);
ITable table = (ITable) ppt.getSlides().get(0).getShapes().get(0);
table.getColumnsList().get(2).adjustColumnByTextWidth();
ppt.saveToFile(outputFile, FileFormat.AUTO);IAutoShape autoShape=iSlide.getShapes().appendShape(ShapeType.ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(50,50,150,150));
IAutoShape autoShape1=iSlide.getShapes().appendShape(ShapeType.ONE_ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(250,50,150,150));
IAutoShape autoShape2=iSlide.getShapes().appendShape(ShapeType.ONE_SNIP_ONE_ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(450,50,150,150));
IAutoShape autoShape3=iSlide.getShapes().appendShape(ShapeType.TWO_DIAGONAL_ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(50,250,150,150));
IAutoShape autoShape4=iSlide.getShapes().appendShape(ShapeType.TWO_SAMESIDE_ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(250,250,150,150));
autoShape.setRoundRadius(autoShape.getWidth()/3);
autoShape1.setRoundRadius(autoShape1.getWidth()/3);
autoShape2.setRoundRadius(autoShape2.getWidth()/3);
autoShape3.setRoundRadius(autoShape3.getWidth()/3);
autoShape4.setRoundRadius(autoShape4.getWidth()/3);Presentation presentation = new Presentation();
presentation.loadFromFile(intputFile);
//获取自定义布局
ILayout iLayout = presentation.getMasters().get(0).getLayouts().get(1);
//附件新幻灯片
presentation.getSlides().append(iLayout);
//插入新幻灯片
presentation.getSlides().insert(0, iLayout);
presentation.saveToFile(outputFile, FileFormat.PPTX_2016);
presentation.dispose();ppt.getSlides().get(0).getShapes().appendSmartArt(50, 50, 250, 250, SmartArtLayoutType.PICTURE_ORGANIZATION_CHART);
ppt.getSlides().append().getShapes().appendSmartArt(50, 50, 250, 250, SmartArtLayoutType.NAME_AND_TITLE_ORGANIZATION_CHART);问题修复:
问题修复:
问题修复: