整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

C# 将HTML转为XML

入dll

1.通过NuGet安装dll(2种方法)

1.1可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。

1.2将以下内容复制到PM控制台安装:

Install-Package FreeSpire.Doc -Version 10.2

2.手动添加dll引用

可通过手动下载包到本地,然后解压,找到BIN文件夹下的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。


将HTML转为XML

转换时,可参考如下代码来进行:

  1. 创建Document类的对象。
  2. 调用Document.LoadFromFile(string fileName, FileFormat fileFormat)方法加载HTML文档。
  3. 通过Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存为XML格式到指定路径。

C#

using Spire.Doc;

namespace HTMLtoXML
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Document类的对象
            Document doc = new Document();

            //加载html文件
            doc.LoadFromFile("sample.html",FileFormat.Html);

            //保存为XML格式
            doc.SaveToFile("HTMLtoXML.xml", FileFormat.Xml);
            System.Diagnostics.Process.Start("HTMLtoXML.xml");
        }
    }
}

转换效果:

—End—

文介绍通过C#和VB.NET代码展示将Html转为Excel文档的方法。

dll引用

方法1

将 Spire.XLS for .NET (https://www.e-iceblue.cn/Downloads/Spire-XLS-NET.html)下载到本地,解压,安装。完成安装后,在安装路径下找到BIN文件夹下的Spire.Xls.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

方法2

通过 NuGet 安装。可以通过以下2种方法安装:

1.可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Spire.XLS”,点击“安装”。等待程序安装完成。

2.将以下内容复制到PM控制台安装。

Install-Package Spire.XLS -Version 12.3.2

将HTML转为Excel

C#

using Spire.Xls;

namespace HtmlToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载示例文档 
            Workbook workbook = new Workbook();
            workbook.LoadFromHtml("test.html");

            //自适应行高
            Worksheet sheet = workbook.Worksheets[0];
            sheet.AllocatedRange.AutoFitRows();

            //保存文档
            workbook.SaveToFile("HtmlToExcel.xlsx", FileFormat.Version2013);
        }
    }
}

转换效果:

—END—

请大家转发+评论,希望能帮助更大的水粉们。

Word转换为PDF的过程可以通过.NET Core中的一些开源库来实现,其中最常用的是Microsoft.Office.Interop.WordPdfSharp。但是需要注意的是,Microsoft.Office.Interop.Word并不是一个.NET Core库,它是一个COM组件,因此在使用时可能会遇到一些与.NET Core的兼容性问题。

下面是一个示例代码,该代码将一个Word文件转换为PDF,并使用了Microsoft.Office.Interop.WordPdfSharp库:

using System;
using System.IO;
using System.Reflection;
using System.Threading;
using Microsoft.Office.Interop.Word;
using PdfSharp;

public class WordToPdfConverter
{
    private static Application wordApp = new Application();
    private static object wordDocument = null;

    public void ConvertWordToPdf(string wordFilePath, string pdfFilePath)
    {
        try
        {
            //打开Word文档
            wordDocument = wordApp.Documents.Open(wordFilePath);

            //将Word文档保存为PDF
            wordApp.Visible = true; //设置Word应用程序可见,以便在保存时弹出保存对话框
            wordApp.DisplayAlerts = WdAlertLevel.wdAlertsNone; //关闭所有提示框
            wordDocument.SaveAs2(pdfFilePath, WdSaveFormat.wdFormatPDF);
        }
        catch (Exception ex)
        {
            throw new Exception("转换Word到PDF时出现错误 : " + ex.Message);
        }
        finally
        {
            //关闭Word文档和应用程序
            wordDocument.Close();
            wordApp.Quit();
        }
    }
}

使用以上的ConvertWordToPdf方法,你可以将一个Word文件转换为PDF。但是这个方法依赖于Microsoft.Office.Interop.Word库,并且这个库不是.NET Core库,因此在一些平台上可能会有兼容性问题。因此,我们需要找到一个纯.NET Core的方法来实现这个转换。

PdfSharp是一个纯.NET库,但是它只能创建PDF,不能从Word文件创建PDF。因此,我们需要使用一个额外的库来将Word文件转换为HTML或XML,然后再使用PdfSharp将HTML或XML转换为PDF。这个额外的库可以是LibreOffice的命令行版本(例如unoconv)或Pandoc。以下是使用这些库的示例代码:

首先,我们需要安装这些库。你可以使用NuGet包管理器来安装它们:

# 安装PdfSharp和LibreOffice的命令行版本(例如unoconv)或Pandoc的NuGet包
Install-Package PdfSharp -Version 1.14.0
Install-Package unoconv -Version 1.0.0-beta145 -Pre   #这个是unoconv的NuGet包

然后我们就可以使用以下代码来将Word文件转换为PDF了:

using System;
using System.IO;
using System.Linq;
using PdfSharp;
using WordNetSharp; // 需要安装这个库来使用Pandoc

public class WordToPdfConverter
{
    public void ConvertWordToPdf(string wordFilePath, string pdfFilePath)
    {
        try
        {
            string html = ConvertWordToHtml(wordFilePath); // 将Word文件转换为HTML或XML,这个方法需要LibreOffice或Pandoc的支持
            ConvertHtmlToPdf(html, pdfFilePath); // 将HTML或XML转换为PDF,这个方法需要PdfSharp的支持
        }
        catch (Exception ex)
        {
            throw new Exception("转换Word到PDF时出现错误 : " + ex.Message);
        }
    }
}

下面是使用unoconv将Word转换为HTML的示例代码:

using System;
using System.IO;
using System.Reflection;
using unoconv.dll; // 引入unoconv的dll文件

public class WordToHtmlConverter
{
    public string ConvertWordToHtml(string wordFilePath)
    {
        // 初始化unoconv的实例
        var converter = new Converter();

        try
        {
            // 将Word文件转换为HTML
            string html = converter.Convert(wordFilePath, "html", "");

            // 将HTML保存到临时文件中
            string tempFilePath = Path.GetTempFileName();
            File.WriteAllText(tempFilePath, html);

            // 返回HTML的内容
            return File.ReadAllText(tempFilePath);
        }
        catch (Exception ex)
        {
            throw new Exception("转换Word到HTML时出现错误 : " + ex.Message);
        }
        finally
        {
            // 销毁unoconv的实例,释放资源
            Assembly.Load("unoconv.dll").GetType("unoconv.Converter").GetMethod("Close").Invoke(converter, null);
        }
    }
}

下面是使用PdfSharp将HTML转换为PDF的示例代码: