首页 > 编程语言 >C#程序使用NPOI包导出Excel

C#程序使用NPOI包导出Excel

时间:2024-03-30 10:05:00浏览次数:31  
标签:C# Excel System NPOI new using col row

安装NPOI:
在这里插入图片描述
C#程序使用了两层循环。外层循环创建每行,内层循环创建每行的单元格。
在这里插入图片描述

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;

using System.IO;
using NPOI.POIFS.Crypt.Dsig;
namespace excel1
{
    internal class Program
    {

        public void ExportToExcel(double[,] chartData)
        {
            var workbook = new HSSFWorkbook(); // 使用HSSFWorkbook适用于xls格式,XSSFWorkbook用于xlsx格式
            var sheet = workbook.CreateSheet("Sheet1");

            for (int row = 0; row < chartData.GetLength(0); row++)
            {
                IRow excelRow = sheet.CreateRow(row);
                for (int col = 0; col < chartData.GetLength(1); col++)
                {
                    ICell cell = excelRow.CreateCell(col);
                    cell.SetCellValue(Convert.ToDouble(chartData[row, col])); // 将数据写入单元格
                }
            }

            // 保存Excel文件
            using (FileStream file = new FileStream(@"C:\\Users\\zhour\\Documents\\npoi.xls", FileMode.Create))
            {
                workbook.Write(file);
            }
        }

        static void Main(string[] args)
        {
            Program p=new Program();
            // 假设你已经有了TeeChart图表,并且你已经从图表中获取了数据到一个二维数组data
            double[,] data = new double[,] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; // 这只是一个示例数据,你需要根据实际情况替换
            // 调用函数
            p.ExportToExcel(data);

        }
    }
}

标签:C#,Excel,System,NPOI,new,using,col,row
From: https://blog.csdn.net/zhourongxiang1/article/details/137144617

相关文章

  • typescript——4.类
    介绍传统的JavaScript程序使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员来讲就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来的。从ECMAScript6开始,JavaScript程序员将能够使用基于类的面向对象的方式。使用TypeScript,我......
  • typescript——3.接口
    接口初探接口:约束、限制下面通过一个简单示例来观察接口是如何工作的:functionprintLabel(labelledObj:{label:string}){console.log(labelledObj.label);}letmyObj={size:10,label:"Size10Object"};printLabel(myObj);类型检查器会查看printLa......
  • VS Code中如何设置Ctrl + 滚轮实现代码缩放?
    其实,步骤很简单,只需两步即可步骤一:找到左上角的文件选项,然后逐步点击首选项和设置步骤二:打开后在搜索框中搜索 MouseWheelZoom,勾选第一个框即可(第二个框是否勾选看个人需求~)好啦,今天的实用小技巧就分享到这里啦,喜欢的话点个关注,我会持续更新更多有用的技巧!......
  • Apollo注册中心docker-compose版本
    1、安装docker-ce#step1:安装必要的一些系统工具sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#Step2:添加软件源信息sudoyum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#Step3sudosed-......
  • 谈谈分布式事务TCC
    TCC(Try-Confirm-Cancel)是一种分布式事务处理模型,用于解决在分布式系统中执行跨服务或跨资源的事务时的一致性问题。与传统的两阶段提交(2PC)和三阶段提交(3PC)相比,TCC提供了一种更为灵活和适应性更强的解决方案,尤其适用于长事务处理和需要高度一致性保证的业务场景。###工作原理......
  • openGauss 全量迁移gs_mysync
    全量迁移gs_mysync可获得性本特性自openGauss5.0.0版本开始引入。特性简介gs_mysync工具是一个基于Python语言的MySQL到openGauss的复制工具。该工具提供了初始全量数据及对象(视图、触发器、函数、存储过程)的复制能力,可实现数据及对象从MySQL迁移至openGauss。对于数据的全量......
  • openGauss 内置stack工具
    内置stack工具可获得性本特性自3.0.0版本开始引入。特性简介stack工具是获取数据库中各线程的调用栈的工具,用于辅助数据库运维人员定位死锁、hang等问题。客户价值提供函数级别的调用栈信息,提升数据库内核运维人员分析、定位死锁、hang等问题的效率。特性描述可以通过函数......
  • openGauss 反向迁移gs_replicate
    反向迁移gs_replicate特性简介支持openGauss的增量数据在线迁移至MySQL。客户价值反向迁移是指用户将源端数据库迁移到目标数据库,应用切到目标数据库后,再将目标端新产生的数据迁移回源端。反向迁移可满足用户业务迁移逃生的诉求,保持源端、目标端两个库并行运行,在目标端数据库......
  • C#手动改变自制窗体的大小
    目录1.Cursor类的Position属性2.改变窗体大小的计算方法3.Resources设计(1)Resources资源图片管理(2)GetObject方法设计(3)两种获取资源图片的方法4.示例        当用户去除Winform窗体边框,自行设置窗体外观时,用户就不能使用Windows窗体应用的功能对自定义窗体的大......
  • 图像分类实战:深度学习在CIFAR-10数据集上的应用
    1.前言        图像分类是计算机视觉领域的一个核心任务,算法能够自动识别图像中的物体或场景,并将其归类到预定义的类别中。近年来,深度学习技术的发展极大地推动了图像分类领域的进步。CIFAR-10数据集作为计算机视觉领域的一个经典小型数据集,为研究者提供了一个理想的......