c# openxml 刪除xlsx、xls的外鏈?zhǔn)纠a
要?jiǎng)h除一個(gè) Excel 文件(.xlsx)中的外部鏈接(external links),你可以使用 OpenXML SDK。外部鏈接通常包含在 `externalReferences` 元素中。以下是一個(gè)簡(jiǎn)單的 C# 代碼示例,演示如何使用 OpenXML SDK 刪除外部鏈接:
using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Spreadsheet; class Program { static void Main() { string filePath = "your_file_path.xlsx"; // 備份文件,以防需要還原 string backupFilePath = "backup_file_path.xlsx"; System.IO.File.Copy(filePath, backupFilePath, true); // 刪除外部鏈接 RemoveExternalLinks(filePath); Console.WriteLine("External links removed successfully."); } static void RemoveExternalLinks(string filePath) { using (SpreadsheetDocument spreadsheetDoc = SpreadsheetDocument.Open(filePath, true)) { WorkbookPart workbookPart = spreadsheetDoc.WorkbookPart; // 刪除 externalReferences 元素 ExternalReferences externalReferences = workbookPart.Workbook.Descendants<ExternalReferences>().FirstOrDefault(); if (externalReferences != null) { externalReferences.Remove(); } // 保存更改 workbookPart.Workbook.Save(); } } }
請(qǐng)確保將文件路徑替換為你實(shí)際的文件路徑。此代碼將備份原始文件,并在原始文件上刪除外部鏈接。如果需要還原,可以使用備份文件。記得在使用此代碼前備份你的數(shù)據(jù),以免不小心刪除了重要的信息。
對(duì)于刪除 Excel 文件(.xls)中的外部鏈接,你需要使用 NPOI(一個(gè)用于處理 Office 文件的開(kāi)源庫(kù))或其他類似的庫(kù),因?yàn)?OpenXML SDK 主要用于處理 Office 2007及更高版本(.xlsx)的文件。
以下是使用 NPOI 的示例代碼,用于刪除 .xls 文件中的外部鏈接:
using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System; using System.IO; class Program { static void Main() { string filePath = "your_file_path.xls"; // 備份文件,以防需要還原 string backupFilePath = "backup_file_path.xls"; File.Copy(filePath, backupFilePath, true); // 刪除外部鏈接 RemoveExternalLinks(filePath); Console.WriteLine("External links removed successfully."); } static void RemoveExternalLinks(string filePath) { using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite)) { HSSFWorkbook workbook = new HSSFWorkbook(fileStream); // 刪除外部鏈接 workbook.ExternalLinksTable.RemoveAggregate(); // 保存更改 workbook.Write(fileStream); } } }
請(qǐng)確保將文件路徑替換為你實(shí)際的文件路徑。這段代碼將備份原始文件并在原始文件上刪除外部鏈接。如果需要還原,可以使用備份文件。同樣,請(qǐng)?jiān)谑褂么舜a之前備份你的數(shù)據(jù),以免不小心刪除了重要的信息。
到此這篇關(guān)于c# openxml 刪除xlsx、xls的外鏈的文章就介紹到這了,更多相關(guān)c# openxml 刪除xlsx、xls的外鏈內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)關(guān)閉其他程序窗口或進(jìn)程代碼分享
這篇文章主要介紹了C#實(shí)現(xiàn)關(guān)閉其他程序窗口或進(jìn)程代碼分享,本文給出了兩種方法,并分別給出示例代碼,需要的朋友可以參考下2015-06-06C#實(shí)現(xiàn)閃動(dòng)托盤(pán)圖標(biāo)效果的方法
這篇文章主要介紹了C#實(shí)現(xiàn)閃動(dòng)托盤(pán)圖標(biāo)效果的方法,涉及C# ImageList控件的使用技巧,需要的朋友可以參考下2016-06-06DevExpress之ChartControl實(shí)現(xiàn)柱狀圖演示實(shí)例
這篇文章主要介紹了DevExpress中ChartControl實(shí)現(xiàn)柱狀圖演示方法,實(shí)例展示了相關(guān)繪圖函數(shù)的具體用法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10C#創(chuàng)建SQLite控制臺(tái)應(yīng)用程序詳解
這篇文章主要為大家詳細(xì)介紹了C#創(chuàng)建SQLite控制臺(tái)應(yīng)用程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07