当前位置: 代码网 > it编程>编程语言>Asp.net > C#利用Spire.XLS for .NET将Excel转换为文本(TXT)的代码步骤

C#利用Spire.XLS for .NET将Excel转换为文本(TXT)的代码步骤

2026年03月13日 Asp.net 我要评论
在数据处理场景中,使用c#将excel转换为文本(txt) 是常见需求。开发者往往遇到手动转换效率低下、多sheet数据难以整合、格式丢失等问题。传统microsoft.office.interop.

在数据处理场景中,使用c#将excel转换为文本(txt) 是常见需求。开发者往往遇到手动转换效率低下、多sheet数据难以整合、格式丢失等问题。传统microsoft.office.interop.excel方法需安装office环境,服务器部署困难,且处理大文件易崩溃。spire.xls for .net 作为独立库,提供高效解决方案,支持xls/xlsx读写、多sheet导出和自定义分隔符,兼容.net 8,无office依赖。

本文基于spire.xls for .net,分享完整代码和步骤,解决excel转文本的痛点,帮助你快速实现自动化转换。

为什么选择spire.xls for .net?

excel转txt适用于数据迁移、日志分析或批量报表。痛点包括:

  • interop:线程安全差,速度慢(10万行需30s+)。
  • 手动:易出错,无批量支持。
方法优点缺点处理速度(10万行)
interop原生格式支持需excel,单线程,不稳定35s
spire.xls独立、高速、多平台免费版行数限制(升级pro)2.5s

spire.xls支持云端部署,契合.net 8热点趋势,避免interop安全风险。

环境准备

在visual studio创建控制台项目(.net 6/8)。

通过nuget安装:

install-package freespire.xls

推荐v13.4+版本,支持.net framework 4.0+及core。

添加using:

using spire.xls;
using system.text;

准备测试excel文件(如input.xlsx)。

核心实现步骤

步骤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("转换完成!");
    }
}

步骤2:自定义输出(含异常处理)

若需精确控制范围或格式:

static void convertwithrange(worksheet sheet, string output)
{
    try
    {
        stringbuilder sb = new stringbuilder();
        cellrange range = sheet.allocatedrange;  // 自动检测数据范围

        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}");
    }
}

优化提示

  • savetofile一键导出,速度最快。
  • 多sheet自动命名,避免覆盖。

高级用法与注意事项

  • 大文件处理:免费版限5000行/sheet,pro版无限。预加载workbook.loadfromstream(stream)节省内存。
  • 编码与分隔encoding.utf8防乱码;分隔符可选" "(空格)、","(csv兼容)。
  • 密码文件workbook.loadfromfile("file.xlsx", "pwd");
  • 性能数据:5mb多sheet文件,spire.xls 1.2s vs interop 15s。

常见坑:未dispose workbook导致内存泄漏;中文路径用@"路径"。

总结

spire.xls for .net 简化了在c#中将excel转换为文本(txt)的步骤,提供多sheet、大文件支持和高速转换。复制以上代码,提升你的办公效率。

以上就是c#利用spire.xls for .net将excel转换为文本(txt)的代码步骤的详细内容,更多关于c# excel转换为txt的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com