C#实现Excel与TXT文本文件高效互转

 更新时间:2025年09月03日 08:20:25   作者:用户372157426135  
在日常办公和数据处理工作中,Excel 和 TXT文本文件是两种常见的数据存储格式,很多时候,我们需要在这两种文件格式之间进行转换,下面我们就来看看如何使用C#实现这一功能吧

在日常办公和数据处理工作中,Excel 和 TXT文本文件是两种常见的数据存储格式。Excel文件适合进行复杂的数据分析、公式运算和图表生成,而 TXT文件则更适合用于存储和传输纯文本数据,如日志、配置文件或简单的数据列表。很多时候,我们需要在这两种文件格式之间进行转换,例如:

  • 将 Excel 中的表格数据导出为 TXT 文件,以便系统读取或作为数据备份。
  • 将 TXT 文件中的原始数据导入 Excel,以便进一步整理和分析。

如果仅依靠手工操作,过程不仅繁琐,还容易出错。借助编程语言C# ,我们可以实现高效、自动化的转换。本文将介绍如何在 C# 中借助 Spire.XLS for .NET 库轻松完成 Excel与 TXT 的相互转换。

Excel 与 TXT 文件的特点对比

在介绍实现方法之前,我们先简单对比一下两种文件的特点:

1.Excel 文件(.xls / .xlsx)

  • 支持多工作表结构
  • 可包含文本、数字、公式、图表等复杂数据
  • 文件体积相对较大,但结构更清晰,适合数据处理

2.TXT 文件(.txt)

  • 只包含纯文本内容
  • 数据通常以制表符、逗号或其他分隔符区分
  • 文件体积小,易于跨平台和系统传输

因此,Excel 转换为 TXT 时,通常会选择保留表格中的纯文本和分隔符;而 TXT转换为 Excel 时,则需要将文本按照行和列解析,转换成表格结构。

使用 Spire.XLS for .NET 实现转换

Spire.XLS for .NET 是一个专门用于操作 Excel文件的开发库,支持创建、读取、编辑和转换 Excel 文档。它的优点在于:

  • 支持 多种文件格式转换(Excel、CSV、TXT、PDF 等);
  • 无需安装 Microsoft Office 或 Excel 环境;
  • 提供简单易用的 API 接口,适合快速开发。

安装方法

开发者可以在Package Manager Console中执行以下命令来从Nuget安装Spire.XLS:

Install-Package Spire.XLS

下面分别介绍 Excel 转 TXTTXT 转 Excel 的实现方法。

1. Excel 转 TXT

将 Excel 文件导出为 TXT 文件的步骤通常包括:

  • 加载 Excel 文件
  • 选择需要导出的工作表
  • 调用保存方法,指定为 TXT 格式

示例代码:

using Spire.Xls;
using System.Text;

class Program
{
    static void Main(string[] args)
    {
        // 创建Workbook对象并加载Excel文件
        Workbook workbook = new Workbook();
        workbook.LoadFromFile("示例.xlsx");

        // 获取第一个工作表
        Worksheet sheet = workbook.Worksheets[0];

        // 将工作表另存为TXT文件(分隔符为空格,编码为UTF-8)
        sheet.SaveToFile("导出结果.txt", " ", Encoding.UTF8);
    }
}

在这个示例中,SaveToFile方法不仅可以指定导出的文件名,还可以设置分隔符(如空格、逗号、制表符等)和编码方式(如UTF-8)。这样可以确保文本文件在不同系统或应用程序中都能正确读取。

2. TXT 转 Excel

与 Excel 转 TXT 相比,将 TXT 文件转换为 Excel 通常需要更多处理步骤。TXT文件本质上是纯文本,需要开发者手动解析其中的行和列,再写入到 Excel的单元格中。这样不仅能正确还原表格结构,还可以灵活定制格式,比如加粗标题、自动调整列宽等。

下面的示例演示了如何将一个以制表符分隔的 TXT 文件导入 Excel:

using Spire.Xls;
using System.IO;
using System.Collections.Generic;

class TxtToExcelConverter
{
    static void Main()
    {
        // 读取TXT文件中的所有行
        string[] lines = File.ReadAllLines("Data.txt");

        // 用列表存储每一行的数据
        List<string[]> data = new List<string[]>();

        // 按制表符分割行内容,形成二维结构
        foreach (string line in lines)
        {
            data.Add(line.Trim().Split('\t')); // 可根据实际情况调整分隔符
        }

        // 创建Workbook对象
        Workbook workbook = new Workbook();

        // 获取第一个工作表
        Worksheet sheet = workbook.Worksheets[0];

        // 将TXT数据逐行逐列写入Excel
        for (int row = 0; row < data.Count; row++)
        {
            for (int col = 0; col < data[row].Length; col++)
            {
                sheet.Range[row + 1, col + 1].Value = data[row][col];

                // 将表头行加粗
                sheet.Range[1, col + 1].Style.Font.IsBold = true;
            }
        }

        // 自动调整列宽
        sheet.AllocatedRange.AutoFitColumns();

        // 保存为Excel文件
        workbook.SaveToFile("TXTtoExcel.xlsx", ExcelVersion.Version2016);
        workbook.Dispose();
    }
}

要点:

  • 使用 File.ReadAllLines() 逐行读取 TXT 文件。
  • 每一行通过 Split('\t') 方法拆分为数组(\t 表示制表符)。如果 TXT使用逗号分隔,可以替换为 Split(',')
  • 解析后的二维数据逐行写入 Excel 表格。
  • 表头行单独设置为加粗,增强可读性。
  • 使用 AutoFitColumns() 自动调整列宽,使内容完整显示。

这种方式比直接调用 LoadFromFile()更灵活,尤其适用于格式复杂或分隔方式不统一的 TXT 文件。

常见应用场景

数据迁移:将系统导出的日志文件(TXT 格式)导入到Excel,便于统计分析。

报表生成:将 Excel 报表转为 TXT,方便系统读取或作为接口数据。

跨平台数据交换:某些应用无法直接读取 Excel 文件,通过 TXT转换实现兼容。

总结

Excel 与 TXT文件的相互转换在实际工作中非常常见。手动操作虽然简单,但对于大量文件或重复任务来说效率极低。借助C# 与 Spire.XLS for .NET,开发者可以通过几行代码实现高效、灵活的转换,不仅节省时间,还降低了出错率。满足日常办公自动化,和企业系统中的数据处理流程等多种需求。

到此这篇关于C#实现Excel与TXT文本文件高效互转的文章就介绍到这了,更多相关C# Excel与TXT互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C# 类库打包dll文件的操作流程

    C# 类库打包dll文件的操作流程

    在C#中,有多种方式可以对代码进行加密,以保护源代码不被轻易查看或修改,这篇文章主要介绍将C# cs类文件加密为dll文件的方式进行保护,感兴趣的朋友一起看看吧
    2025-03-03
  • C#中获取数据的方法实例

    C#中获取数据的方法实例

    这篇文章主要给大家介绍了关于C#中获取数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • C#可空类型用法分析

    C#可空类型用法分析

    这篇文章主要介绍了C#可空类型用法,实例分析了C#可空类型的功能、定义及使用方法,需要的朋友可以参考下
    2015-05-05
  • C#图形区域剪切的实现方法

    C#图形区域剪切的实现方法

    这篇文章主要介绍了C#图形区域剪切的实现方法,涉及C#图形操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • Unity中 mesh生成斜坡的示例代码

    Unity中 mesh生成斜坡的示例代码

    Mesh是指模型的网格,3D模型是由多边形拼接而成,而多边形实际上是由多个三角形拼接而成的,今天通过本文给大家介绍Unity中 mesh生成斜坡功能,感兴趣的朋友一起看看吧
    2021-05-05
  • C#.Net ArrayList的使用方法

    C#.Net ArrayList的使用方法

    这篇文章主要介绍了C#.Net ArrayList的使用方法,使用动态数组的优点是可以根据用户需要,有效利用存储空间,需要的朋友可以参考下
    2015-10-10
  • C#实现中文录音文件转为文本文字

    C#实现中文录音文件转为文本文字

    这篇文章主要为大家详细介绍了C#如何实现把中文录音文件(.mp3 .wav)转为文本文字内容,文中的示例代码讲解详细,感兴趣的小伙伴可以参考下
    2024-12-12
  • C#基于Socket的网络通信类你了解吗

    C#基于Socket的网络通信类你了解吗

    这篇文章主要为大家详细介绍了C#基于Socket的网络通信类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • C#操作config文件的具体方法

    C#操作config文件的具体方法

    这篇文章介绍了在C#中对config文件的操作,有需要的朋友可以参考一下
    2013-07-07
  • Unity接入高德开放API实现IP定位

    Unity接入高德开放API实现IP定位

    这篇文章主要为大家介绍了Unity如何接入高德开放API实现IP定位功能,文中的示例代码讲解详细,对我们学习或工作有一定参考价值,需要的可以参考一下
    2022-04-04

最新评论