首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用C#和DocumentFormat.OpenXml nuget软件包在Excel中格式化数字?

使用C#和DocumentFormat.OpenXml nuget软件包可以很容易地在Excel中格式化数字。以下是一个完整的示例代码,展示了如何使用这个软件包:

代码语言:txt
复制
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;

class Program
{
    static void Main()
    {
        // 创建一个新的Excel文档
        using (SpreadsheetDocument document = SpreadsheetDocument.Create("example.xlsx", SpreadsheetDocumentType.Workbook))
        {
            // 添加一个Workbook部件到文档
            WorkbookPart workbookPart = document.AddWorkbookPart();
            workbookPart.Workbook = new Workbook();

            // 添加一个Worksheet部件到Workbook部件
            WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
            worksheetPart.Worksheet = new Worksheet(new SheetData());

            // 添加一个Sheets部件到Workbook部件
            Sheets sheets = workbookPart.Workbook.AppendChild(new Sheets());
            Sheet sheet = new Sheet() { Id = workbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "Sheet1" };
            sheets.Append(sheet);

            // 获取Worksheet部件的SheetData
            SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();

            // 创建一个Cell并添加到SheetData中
            Cell cell = new Cell() { DataType = CellValues.Number, CellValue = new CellValue("12345") };
            sheetData.AppendChild(new Row(new Cell()));

            // 设置单元格的格式化样式
            Stylesheet stylesheet = workbookPart.WorkbookStylesPart.Stylesheet;
            CellFormats cellFormats = stylesheet.CellFormats;
            UInt32Value numberFormatId = InsertNumberFormat(stylesheet, "#,##0.00");
            cell.StyleIndex = InsertCellStyle(cellFormats, numberFormatId);

            // 保存并关闭Excel文档
            workbookPart.Workbook.Save();
            document.Close();
        }
    }

    // 插入一个自定义的数字格式化样式
    private static UInt32Value InsertNumberFormat(Stylesheet stylesheet, string formatCode)
    {
        NumberingFormats numberingFormats = stylesheet.NumberingFormats;
        UInt32Value numberFormatId = (UInt32Value)numberingFormats.Count + 164;

        NumberingFormat numberingFormat = new NumberingFormat() { NumberFormatId = numberFormatId, FormatCode = formatCode };
        numberingFormats.Append(numberingFormat);

        return numberFormatId;
    }

    // 插入一个自定义的单元格样式
    private static UInt32Value InsertCellStyle(CellFormats cellFormats, UInt32Value numberFormatId)
    {
        UInt32Value styleIndex = (UInt32Value)cellFormats.Count;

        CellFormat cellFormat = new CellFormat() { NumberFormatId = numberFormatId };
        cellFormats.Append(cellFormat);

        return styleIndex;
    }
}

这个示例代码演示了如何创建一个新的Excel文档,并在其中添加一个数字格式化样式。具体步骤如下:

  1. 使用SpreadsheetDocument.Create方法创建一个新的Excel文档。
  2. 创建一个Workbook部件,并将其设置为文档的Workbook。
  3. 创建一个Worksheet部件,并将其设置为Workbook部件的Worksheet。
  4. 创建一个Sheets部件,并将其添加到Workbook部件中。
  5. 创建一个Sheet,并将其添加到Sheets部件中。
  6. 获取Worksheet部件的SheetData。
  7. 创建一个Cell,并将其添加到SheetData中。
  8. 设置单元格的数据类型为Number,设置单元格的值为待格式化的数字。
  9. 获取Workbook部件的WorkbookStylesPart的Stylesheet。
  10. 插入一个自定义的数字格式化样式,将其返回的NumberFormatId记录下来。
  11. 插入一个自定义的单元格样式,将其返回的StyleIndex记录下来。
  12. 保存并关闭Excel文档。

以上代码中的示例数字格式化样式是"#,##0.00",你可以根据需要修改为其他格式化样式。

这里是腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):提供海量、安全、低成本的云存储服务,可用于存储和管理Excel文件。详情请参考:对象存储(COS)
  • 腾讯云函数计算(SCF):无服务器云函数服务,可以用于执行上述示例代码。详情请参考:函数计算(SCF)
  • 腾讯云API网关(API Gateway):可以帮助您构建、发布、运行和维护具备 API 能力的应用程序。详情请参考:API网关(API Gateway)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 程序猿修养 使用 NuGet 发射卫星只需要三步

    软件行业其他行业不相同,在很多行业想要复用前人的知识,需要重新再制造一遍。而软件行业,特别是 dotnet 系的技术,想要用前人的经验只需要使用前人写的库。...随着越来越多的基础设施底层库的积累,现在开发一个软件的速度会越来越快。在使用 dotnet 技术栈时,可以通过 NuGet 方便使用前人的库或发布自己的库工具。...有很多功能,其实只需要知道用哪个库如何用,底层细节可以在完全不知道不了解的情况下也能用起来 回到上篇博客最后的问题,我想要写一个软件,用来发射卫星,请问需要几步?...假设现在已经有大佬将创建卫星发射卫星等的实现都封装在一个库,那么此时要发射卫星就非常简单了 第一步:通过 NuGet 安装发射卫星的库 第二步:调用库里面发射卫星函数 第三步:使用 dotnet run...的话,将问题从如何理解一个新的知识如何应用编写代码转换为如何寻找一个库,以及如何使用这个库。

    49120

    .NET软件开发与常用工具清单

    使用Visual Studio开发基于.NET Framework的应用时,   NuGet能够令你在项目中添加、移除更新引用的工作变得更加快捷方便。...1、Resharper(收费)【强烈推荐】 VS首选安装插件,其强大功能如下: * 分析提示如何改进提高代码质量 * 方便单元测试 * 方便重构 * 快速定位代码和文件 ?...使用 .NET Reflector,你可以浏览程序集的类方法,可以分析由这些类方法生成的 Microsoft 中间语言 (MSIL),并且可以反编译这些类方法并查看 C# 或 Visual Basic....NET 的等价类方法。...提供以下友好功能: * 提供友好的语法格式化、智能提示;   * 代码格式化:   * 代码鸟瞰图   * 自动生成编程语言的语法格式   * 生成测试数据,保存成脚本文件或直接保存到数据库

    2.4K10

    Magicodes.IE 2.6.2 发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【Nuget】版本更新到1.4.17 【重构】重构IExportFileByTemplate的ExportByTemplate,将参数htmlTemplate改为template。...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.7K40

    将Word或Excel文档转化为Text

    因此,在某些时候,我们可能需要将Word或Excel文件转换为Text。接下来,我将介绍如何使用C#VB.NET将Word或Excel文件转换为Text。...安装DLL文件在此篇文章,我所用到的是 Spire.Office for .NET类库,它可以通过NuGet安装。...具体步骤为:依次选择工具>NuGet包管理器>程序包管理器控制台,然后执行以下命令:PM> Install-Package Spire.Office使用C#VB.NET将Word文件转化为TextSpire.Office...C#VB.NET将Excel文件转化为TextWorkbook类用于处理Excel文档,该类提供了一个Worksheets属性,用于获取当前Excel文档的所有工作表的集合。...使用 Workbook.LoadFromFile() 方法加载Excel文件。通过Workbook.Worksheets[sheetIndex]属性获取指定工作表。

    17.3K20

    Magicodes.IE 2.6.3 发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...命名空间下的部分特性来控制导入导出 #63 2020.04.16 【Nuget】版本更新到2.2.0-beta9 【Excel模板导出】修复只存在一列时的导出 #73 【Excel导入】支持返回表头索引...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.9K20

    Magicodes.IE 2.6.0重磅发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【Nuget】版本更新到1.4.17 【重构】重构IExportFileByTemplate的ExportByTemplate,将参数htmlTemplate改为template。...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.6K20

    Magicodes.IE 2.5.6.3发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【Nuget】版本更新到1.4.17 【重构】重构IExportFileByTemplate的ExportByTemplate,将参数htmlTemplate改为template。...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.2K40

    Magicodes.IE 2.7.2发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...】修复标注的添加问题 【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...命名空间下的部分特性来控制导入导出 #63 2020.04.16 【Nuget】版本更新到2.2.0-beta9 【Excel模板导出】修复只存在一列时的导出 #73 【Excel导入】支持返回表头索引...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    2K20

    Magicodes.IE 2.7.1发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...】修复标注的添加问题 【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...命名空间下的部分特性来控制导入导出 #63 2020.04.16 【Nuget】版本更新到2.2.0-beta9 【Excel模板导出】修复只存在一列时的导出 #73 【Excel导入】支持返回表头索引...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.8K10

    Magicodes.IE 2.6.4 发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...命名空间下的部分特性来控制导入导出 #63 2020.04.16 【Nuget】版本更新到2.2.0-beta9 【Excel模板导出】修复只存在一列时的导出 #73 【Excel导入】支持返回表头索引...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.2K20

    Magicodes.IE 2.7.4.2发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...】修复标注的添加问题 【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...命名空间下的部分特性来控制导入导出 #63 2020.04.16 【Nuget】版本更新到2.2.0-beta9 【Excel模板导出】修复只存在一列时的导出 #73 【Excel导入】支持返回表头索引...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.9K30

    Magicodes.IE 2.5.6.2发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【Nuget】版本更新到1.4.17 【重构】重构IExportFileByTemplate的ExportByTemplate,将参数htmlTemplate改为template。...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.2K20

    Magicodes.IE 2.5.5.3发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...导出List数据类型存在错误,以及格式化问题。...【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.6K10

    Magicodes.IE 2.5.6.1发布

    MagicodesIEPdfModule) 注册IPdfExporter Magicodes.IE.Word.Abp(MagicodesIEWordModule) 注册IWordExporter 如何使用...导出List数据类型存在错误,以及格式化问题。...【导出】ASP.NET Core Web API 中使用自定义格式化程序导出Excel、Pdf、Csv等内容 #64 【导入导出】支持使用System.ComponentModel.DataAnnotations...2020.01.16 【Nuget】版本更新到1.4.24 【导出】修复日期格式默认导出数字的Bug,默认输出“yyyy-MM-dd”,可以通过设置“[ExporterHeader(DisplayName...【导出】支持Excel模板导出并填写相关单元测试,如何使用见教程《Excel模板导出之导出教材订购表》 支持单元格单个绑定 支持列表 2019.12.17 【Nuget】版本更新到1.4.16 【导入】

    1.7K10

    如何C#解析Excel公式

    前言 在日常工作,我们经常需要在Excel使用公式对表数据进行计算(求和、求差求均值等)分析,从而实现对数据的分类,通常情况下,当数据量较少或场景变化单一的情况下,使用公式可以满足用户的要求,...这个时候就可以用编码的方式来解决,以下面的背景需求为例,小编将为大家介绍如何使用葡萄城公司基于 .NET .NET Core 平台的服务端高性能表格组件组件GrapeCity Documents for...使用 C# 解析修改 Excel 公式 首先,创建一个新的 C#(.NET Core) 项目,并使用NuGet 包管理器安装 GcExcel 包,然后按照前面的步骤操作。...因此,请注意如何在不使用“=”运算符的情况下提取公式。...修改公式后,新公式将分配给工作表的单元格以生成预期的销售报告。 下面的代码包含一些格式化代码来格式化销售报告内容。

    24110
    领券