2020年6月30日 星期二

[研究][C#][ASP.NET] 使用 FreeSpire.Doc 7.11.0 取代 .docx 中的文字

[研究][C#][ASP.NET] 使用 FreeSpire.Doc 7.11.0 取代 .docx 中的文字

2020-06-30

Visual Studio 2019 v16.6.2 + ASP.NET + WebForm + WebApplication

用 NuGet 安裝 FreeSpire.Doc 7.11.0

Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SpireDocReplaceText.Default" %>
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        </div>
    </form>
</body>
</html>


Default.aspx.cs
using Spire.Doc;
using System;

namespace SpireDocReplaceText
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Document document = new Document();
            
            document.LoadFromFile(@"C:\Temp\樣張1.docx"); //失敗
            //document.LoadFromFile(@"C:\Temp\test1.docx"); //成功

            document.Replace("{$大學}", "測試大學", false, true);

            document.SaveToFile(@"C:\Temp\樣張1R.docx", FileFormat.Docx);
            //System.Diagnostics.Process.Start(@"C:\Temp\樣張1R.docx");
        }
    }
}

其中 test1.docx 是自己建立的,檔案中只有單純的文字。
樣張1.docx 別人給的,內容較複雜,但是Word開啟該檔案,用 "{$大學}"去搜尋,是可以找到的。

表示 Spire.Doc 無法適用於各種 .docx 檔案。

(完)

沒有留言:

張貼留言