C#利用Spire.XLS for .NET將Excel轉(zhuǎn)換為文本(TXT)的代碼步驟
在數(shù)據(jù)處理場景中,使用C#將Excel轉(zhuǎn)換為文本(TXT) 是常見需求。開發(fā)者往往遇到手動轉(zhuǎn)換效率低下、多Sheet數(shù)據(jù)難以整合、格式丟失等問題。傳統(tǒng)Microsoft.Office.Interop.Excel方法需安裝Office環(huán)境,服務(wù)器部署困難,且處理大文件易崩潰。Spire.XLS for .NET 作為獨立庫,提供高效解決方案,支持XLS/XLSX讀寫、多Sheet導(dǎo)出和自定義分隔符,兼容.NET 8,無Office依賴。
本文基于Spire.XLS for .NET,分享完整代碼和步驟,解決Excel轉(zhuǎn)文本的痛點,幫助你快速實現(xiàn)自動化轉(zhuǎn)換。
為什么選擇Spire.XLS for .NET?
Excel轉(zhuǎn)TXT適用于數(shù)據(jù)遷移、日志分析或批量報表。痛點包括:
- Interop:線程安全差,速度慢(10萬行需30s+)。
- 手動:易出錯,無批量支持。
| 方法 | 優(yōu)點 | 缺點 | 處理速度(10萬行) |
|---|---|---|---|
| Interop | 原生格式支持 | 需Excel,單線程,不穩(wěn)定 | 35s |
| Spire.XLS | 獨立、高速、多平臺 | 免費版行數(shù)限制(升級Pro) | 2.5s |
Spire.XLS支持云端部署,契合.NET 8熱點趨勢,避免Interop安全風(fēng)險。
環(huán)境準(zhǔn)備
在Visual Studio創(chuàng)建控制臺項目(.NET 6/8)。
通過NuGet安裝:
Install-Package FreeSpire.XLS
推薦v13.4+版本,支持.NET Framework 4.0+及Core。
添加using:
using Spire.Xls; using System.Text;
準(zhǔn)備測試Excel文件(如input.xlsx)。
核心實現(xiàn)步驟
步驟1:加載Workbook并處理多Sheet
class Program
{
static void Main()
{
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:\input.xlsx"); // 支持XLS/XLSX
int index = 0;
foreach (Worksheet sheet in workbook.Worksheets)
{
string output = $"Sheet{index++}_{sheet.Name}.txt";
sheet.SaveToFile(output, "\t", Encoding.UTF8); // Tab分隔,UTF-8編碼
}
workbook.Dispose();
Console.WriteLine("轉(zhuǎn)換完成!");
}
}
步驟2:自定義輸出(含異常處理)
若需精確控制范圍或格式:
static void ConvertWithRange(Worksheet sheet, string output)
{
try
{
StringBuilder sb = new StringBuilder();
CellRange range = sheet.AllocatedRange; // 自動檢測數(shù)據(jù)范圍
for (int r = range.Row; r <= range.LastRow; r++)
{
for (int c = range.Column; c <= range.LastColumn; c++)
{
sb.Append(sheet.Range[r, c].Value?.ToString() ?? "").Append(",");
}
sb.AppendLine();
}
System.IO.File.WriteAllText(output, sb.ToString(), Encoding.UTF8);
}
catch (Exception ex)
{
Console.WriteLine($"錯誤: {ex.Message}");
}
}
優(yōu)化提示:
SaveToFile一鍵導(dǎo)出,速度最快。- 多Sheet自動命名,避免覆蓋。
高級用法與注意事項
- 大文件處理:免費版限5000行/Sheet,Pro版無限。預(yù)加載
workbook.LoadFromStream(stream)節(jié)省內(nèi)存。 - 編碼與分隔:
Encoding.UTF8防亂碼;分隔符可選" "(空格)、","(CSV兼容)。 - 密碼文件:
workbook.LoadFromFile("file.xlsx", "pwd");。 - 性能數(shù)據(jù):5MB多Sheet文件,Spire.XLS 1.2s vs Interop 15s。
常見坑:未Dispose workbook導(dǎo)致內(nèi)存泄漏;中文路徑用@"路徑"。
總結(jié)
Spire.XLS for .NET 簡化了在C#中將Excel轉(zhuǎn)換為文本(TXT)的步驟,提供多Sheet、大文件支持和高速轉(zhuǎn)換。復(fù)制以上代碼,提升你的辦公效率。
以上就是C#利用Spire.XLS for .NET將Excel轉(zhuǎn)換為文本(TXT)的代碼步驟的詳細(xì)內(nèi)容,更多關(guān)于C# Excel轉(zhuǎn)換為TXT的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#的Process類調(diào)用第三方插件實現(xiàn)PDF文件轉(zhuǎn)SWF文件
本篇文章主要介紹了C#的Process類調(diào)用第三方插件實現(xiàn)PDF文件轉(zhuǎn)SWF文件,現(xiàn)在分享給大家,具有一定的參考價值,有需要的可以了解一下。2016-11-11
利用多線程句柄設(shè)置鼠標(biāo)忙碌狀態(tài)的實現(xiàn)方法
怎樣利用多線程句柄設(shè)置鼠標(biāo)忙碌狀態(tài)呢?下面小編就為大家介紹一下具體的實現(xiàn)方法吧!需要的朋友可以過來參考下2013-08-08
C#導(dǎo)出數(shù)據(jù)到Excel文件的方法
這篇文章主要介紹了C#導(dǎo)出數(shù)據(jù)到Excel文件的方法,涉及C#操作Excel的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
在C#中調(diào)用VBScript、javascript等腳本的實現(xiàn)代碼
在C#中調(diào)用VBScript、javascript等腳本的實現(xiàn)步驟,需要的朋友可以參考下。2009-11-11
使用linq to xml修改app.config示例(linq讀取xml)
這篇文章主要介紹了使用linq to xml修改app.config示例,需要的朋友可以參考下2014-02-02

