C#实现CSV与PDF和DataTable的快速转换

 更新时间:2025年07月04日 08:19:08   作者:Eiceblue  
CSV作为轻量级数据载体,在数据传输中占比超过70%,这篇文章主要为大家介绍了如何使用C#实现CSV与PDF和DataTable的快速转换,需要的可以了解下

CSV作为轻量级数据载体,在数据传输中占比超过70%。但其原生格式存在三大痛点:

  • 可视化缺陷:无法直接生成可打印的报表
  • 结构限制:缺乏数据类型定义和关系约束
  • 安全风险:易被意外修改导致数据失真

因此,我们常常需要将CSV文件转换为PDF格式以便于打印和分享,或者转换为DataTable用于程序化处理。本文将介绍如何利用免费库 Free Spire.XLS for .NET 高效实现这两种转换。

一、准备工作

通过 NuGet 包管理器安装Free Spire.XLS,打开程序包管理控制台输入:

Install-Package FreeSpire.XLS  

或在 Visual Studio 中搜索 “FreeSpire.XLS” 安装最新免费版。

二、C# 代码: 将CSV转换为PDF

using Spire.Xls;
using System.Drawing;

namespace CSVtoPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 初始化Workbook对象
            Workbook workbook = new Workbook();

            //加载CSV文件
            workbook.LoadFromFile("库存.csv", ",", 1, 1);

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

            // 设置表格样式
            sheet.AllocatedRange.Style.Color = Color.White;
            sheet.AllocatedRange.Style.Font.Color = Color.Black;
            sheet.AllocatedRange.Style.Font.Size = 11;
            sheet.AllocatedRange.AutoFitColumns();
            sheet.AllocatedRange.AutoFitRows();

            // 设置表头样式
            CellRange header = sheet.Range[1, 1, 1, sheet.Columns.Length];
            header.Style.Color = Color.LightGreen;
            header.Style.Font.IsBold = true;


            // 配置PDF导出选项
            workbook.ConverterSetting.SheetFitToPage = true;
            workbook.ConverterSetting.SheetFitToWidth = true;
            workbook.ConverterSetting.JPEGQuality = 100;

            // 将CSV文件保存为PDF文件
            sheet.SaveToPdf("CSVtoPDF.pdf");
        }
    }
}

关键功能解析

1.自动格式化

  • AutoFitColumns()/ AutoFitRows() 自动调整行列尺寸
  • 表头自动加粗和背景色设置

2.样式定制

  • 支持字体、颜色、边框等样式配置
  • 单元格背景色设置(如Color.LightGreen

3.PDF优化选项

  • SheetFitToPage:自动适应页面
  • SheetFitToWidth:宽度自适应
  • JPEGQuality:输出质量控制

转换效果图:

三、C# 代码: 将CSV转换为DataTable

使用Free Spire.XLS,可以将CSV文件加载到工作簿对象中,获取指定工作表,然后调用 ExportDataTable() 方法即可直接转换为DataTable。

using Spire.Xls;

namespace CSVtoDataTable
{
    class Program
    {
        static void Main(string[] args)
        {
            // 初始化Workbook对象
            Workbook workbook = new Workbook();

            // 加载CSV到工作簿
            workbook.LoadFromFile("库存.csv", ",", 1, 1);

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

            // 将第一个工作表导入DataTable
            sheet.ExportDataTable();
        }
    }
}

DataTable优势:

  • 内存高效处理大数据集
  • 无缝衔接Pandas生态
  • 支持SQL查询式数据操作

四、应用场景

转换类型最佳场景
CSV转PDF审计报告/打印文档/存档记录
CSV转DataTable数据清洗/管理后台/实时分析

五、结论

通过Free Spire.XLS for .NET实现CSV转换:

  • PDF导出 - 生成专业级可打印文档
  • DataTable转换 - 实现高效内存数据处理
  • 免费高效 - 无需Excel环境依赖

提示:商业场景可考虑商业版,解除限制并获得高级功能支持。

到此这篇关于C#实现CSV与PDF和DataTable的快速转换的文章就介绍到这了,更多相关C# CSV与PDF和DataTable的转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解C#批量插入数据到Sqlserver中的四种方式

    详解C#批量插入数据到Sqlserver中的四种方式

    本文主要讲解一下在Sqlserver中批量插入数据。文中大数据批量插入方式一和方式四尽量避免使用,而方式二和方式三都是非常高效的批量插入数据方式,需要的朋友可以看下
    2016-12-12
  • C#中CompareTo的用法小结

    C#中CompareTo的用法小结

    CompareTo方法通常用于比较当前对象与另一个对象的顺序,本文主要介绍了C#中CompareTo的用法小结,具有一定的参考价值,感兴趣的可以了解一下
    2025-04-04
  • C#中实现线程同步lock关键字的用法详解

    C#中实现线程同步lock关键字的用法详解

    实现线程同步的第一种方式是我们经常使用的lock关键字,它将包围的语句块标记为临界区,这样一次只有一个线程进入临界区并执行代码,接下来通过本文给大家介绍C#中实现线程同步lock关键字的用法详解,一起看看吧
    2016-07-07
  • Unity Shader实现翻书效果

    Unity Shader实现翻书效果

    这篇文章主要为大家详细介绍了Unity Shader实现翻书效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • C# 预处理器指令的用法

    C# 预处理器指令的用法

    本文主要介绍了C# 预处理器指令的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • c#中的正则表达式和日期的使用示例

    c#中的正则表达式和日期的使用示例

    在 C# 中,正则表达式(Regular Expressions)是一种强大的文本处理工具,用于执行各种字符串搜索、替换和验证任务,这篇文章主要介绍了c#中的正则表达式和日期的使用示例,需要的朋友可以参考下
    2024-07-07
  • C# 日历类功能的实例

    C# 日历类功能的实例

    本文通过实例代码给大家介绍了C#日历类的相关知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-06-06
  • c#实现繁体转简体的示例代码

    c#实现繁体转简体的示例代码

    OpenCC是一个开源的中文繁简转换工具,支持多种语言,这篇文章主要为大家介绍了C#如何使用OpenCC实现繁体转简体功能,有需要的可以了解下
    2025-01-01
  • C#实现文字转语音功能

    C#实现文字转语音功能

    这篇文章主要为大家详细介绍了C#实现文字转语音功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C#实现控制摄像头的类

    C#实现控制摄像头的类

    这篇文章主要介绍了C#实现控制摄像头的类,涉及C#操作摄像头的初始化、抓图、录像等功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09

最新评论