C# 导出EXCEL报错

C#利用NPOI在同一个Excel文件中创建多个sheet 借用NPOI来实现,要在同一Excel文件中创建多个sheet,只需要在同一个workbook中创建多个sheet即可。要注意的是,sheet的名字一定不能重复。下面是实现的代码: private void buttonTest_Click(object sender, EventArgs e) { HSSFWorkbook workBook = new 阅读详情


初步判断可能原因为

1。WPS相关冲突

2。系统更新冲突


部分客户端重装MICROSOFT OFFICE后可以正常使用。

部分客户端卸载WPS OFFICE后重装MICROSOFT OFFICE后可以正常使用。

仍有部分客户端以上方法都无效。


临时解决方案,采用第三方组件NPOI


        public static void DataToExcelByNPOI(DataGridView dgv)
        {
            try
            {
                int rowCount = dgv.Rows.Count;
                int colCount = dgv.Columns.Count;

                //行数列数必须大于0    
                if (rowCount <= 0 || colCount <= 0)
                {
                    MessageBox.Show("没有数据可供导出!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                NPOI.HSSF.UserModel.HSSFWorkbook workbook = new NPOI.HSSF.UserModel.HSSFWorkbook();
                MemoryStream ms = new MemoryStream();

                NPOI.SS.UserModel.ISheet sheet = workbook.CreateSheet("Sheet1");

                try
                {
                    //填入表头
                    NPOI.SS.UserModel.IRow dataHeadRow = sheet.CreateRow(0);
                    for (int j = 0; j < colCount; j++)
                    {
                        if (dgv.Columns[j].Visible && dgv.Columns[j].HeaderText != "")
                        {
                            NPOI.SS.UserModel.ICell cell = dataHeadRow.CreateCell(j);
                            cell.SetCellValue(dgv.Columns[j].HeaderText.ToString());
                        }
                    }
                    //填入明细
                    for (int i = 0; i < rowCount; i++)
                    {
                        NPOI.SS.UserModel.IRow dataRow = sheet.CreateRow(i+1);
                        for (int j = 0; j < colCount; j++)
                        {
                            if (dgv.Columns[j].Visible && dgv.Rows[i].Cells[j].Value != null)
                            {
                                NPOI.SS.UserModel.ICell cell = dataRow.CreateCell(j);
                                cell.SetCellValue(dgv.Rows[i].Cells[j].Value.ToString());
                            }
                        }
                    }

                    workbook.Write(ms);
                    SaveFileDialog sfd = new SaveFileDialog();

                    sfd.Filter = "Excel 97-2003工作薄(*.xls)|*.xls";
                    sfd.DefaultExt = ".xls";
                    sfd.RestoreDirectory = true;
                    sfd.OverwritePrompt = true;
                    sfd.Title = "保存文件";
                    if (DialogResult.OK != sfd.ShowDialog())
                    {
                        return;
                    }

                    string strFileName = sfd.FileName;

                    if (System.IO.File.Exists(strFileName))
                    {
                        System.IO.File.Delete(strFileName);
                    }
                    FileStream file = new FileStream(strFileName, FileMode.Create);
                    workbook.Write(file);
                    file.Close();
                    MessageBox.Show("保存EXCE成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    workbook = null;
                    ms.Close();
                    ms.Dispose();
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }


NPOI的下载地址:NPOI


C# 用Microsoft组件导出excel 报错解决方式00024500-0000-0000-C000-000000000046 80070005拒绝访问 这是报错截图!开始百度,很多都是写的在组件服务中将把"启动和激活权限","配置权限",都选择为自定义,并加入用户aspnet。我按照这方式改了,但还是报这个错。后面我改了另一个访问权限,并加入aspnet用户。  没想到问提解决了!希望能给你们也有一点帮助。 步骤: 1,运行dcomcnfg打开组件服务 2,依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 阅读详情

相关推荐

C#向Excel传输数据——CopyFromRecordset用法

导出报表,将程序中的list或者dataTable进行组织。然后通过特定的形式,显示到Excel或者word中,方便打印。       目前正在使用的方式,事先用报表设计工具,设置一个模板,然后导出报表的时候,读取模板,然后将模板中的数据进行替换。这也是最常用的一个方式。       我们公司,现在没有使用报表工具,使用的Excel。     使用Excel做报表模板,然后向Exc

赵崇 8463

C#调用NPOI创建Excel文档

C#调用NPOI自动创建Excel文档(一) 所以,要实现的效果是:读取数据库所有记录,记录中有几个高端类就让Excel列宽等于其数量值,其它类别同理。除了控制循环读取的次数外,最为关键的就是准确得出每个要合并的类别单元格在Excel中的起始位置和结束位置。核心算法如下: try { string sql1 = "SELECT DISTINCT ProductType FROM ProductInfor"; OleDbCommand mycom1 = new OleDbCommand(sql1, m

极客神殿 1367

用运放和乘法器DIY忆阻模拟器:从理论到Multisim仿真实战

本文详细介绍了如何利用运放和乘法器DIY忆阻模拟器,从理论基础到Multisim仿真实战。通过解析忆阻器的数学模型,设计关键电路模块,并完成仿真验证,帮助电子爱好者低成本实现忆阻器功能。文章还提供了实际调试中的常见问题解决方案和进阶应用建议,适合神经形态计算和非易失性存储领域的研究者参考。

weixin_28718345的博客 416

C#使用NPOI操作Excel

C#使用NPOI操作Excel 1.引入命名空间 using NPOI.SS.UserModel; using NPOI.HSSF.UserModel; using NPOI.XSSF.UserModel; using System.IO; using System.Data; 2.读取文件流 using (FileStream fs = File.OpenRead(filePath)){} 3.读取EXCEL 3.1 创建工作簿对象 IWorkbook workbook = null; 3.2 兼容

Miracle Fan的博客 2399

Voltus功耗分析——读入Innovus数据/cpf/spef文件

检查的内容:物理库、时序库、网表、I/Os、tie-high&tie-low pins、电源/地pins。设计数据(LEF/DEF/netlist)、cpf文件、SPEF文件。方法二:定义每个 power/ground net's 电压。4.设计数据检查(design sanity check)方法一:读入.dat数据。方法二:读入def文件。方法一:读入CPF文件。

qq_44347276的博客 3982

分类模型AUC低于0.5?5个常见坑点排查指南(附代码示例)

本文针对分类模型AUC低于0.5的常见问题,提供了5个关键排查点及代码示例。从样本分布失衡、特征与标签脱节到量纲差异、模型初始化和数据泄露,详细解析了可能导致AUC异常的原因,并给出实用的诊断方法和解决方案,帮助开发者快速提升模型性能。

weixin_29190169的博客 239

C#导出excel失败

奈何菜鸟太穷,想再论坛或者问答了发帖子,可是木有钱,哇哇哇……

水菜丹阳 803

科研党必备:Zotero+Deepseek 打造AI文献阅读助手(附详细插件配置指南)

本文详细介绍了如何利用Zotero和Deepseek打造AI文献阅读助手,提升科研效率。从Zotero基础安装到中文文献处理插件茉莉花的配置,再到Deepseek API的集成与模型选择策略,全面覆盖了AI辅助阅读的关键环节。特别适合需要高效管理海量文献的科研工作者,显著提升文献筛选和分析速度。

backprop5master的博客 423

C# Excel导出超出65536行报错

一:报错 Invalidrownumber(65536)outsideallowablerange(0..65535) 原因:excel03的限制就是65536行,超过行数就报错 二:解决方案-创立多个sheet publicStringexport(Listlist,Stringf){ Stringname=””; HSSFWorkbookbook=newHSSFWorkbook(); HSSFSheetsheet=book.createSheet(“stud”); //声明一行 HSSFRowrow=s

全盛 1894

自动驾驶入门到进阶完整指南:感知、预测、规划、端到端、仿真测评与场景挖掘全解析

对小白来说,不建议一开始直接冲端到端大模型。先学数据和坐标系:否则所有结果都看不懂。再学 LiDAR 3D 检测:最容易建立空间感。再学 BEV/多相机感知:这是当前主流。再学轨迹预测:理解交互和多模态。再学规划控制:理解车为什么这样开。再学仿真和闭环评测:理解 open-loop 和 closed-loop 差异。最后学端到端/VLM/VLA:这时候你才知道它到底替代了哪些模块。贯穿始终学习场景挖掘和安全测评:这是工业界最核心的能力之一。

u013250861的博客 390

ANSYS APDL生死单元实战:焊接模拟从入门到精通(附完整命令流)

本文详细介绍了使用ANSYS APDL进行焊接模拟的核心技术——生死单元法。通过一个完整的平板对接焊案例,从原理剖析、模型搭建、命令流编写到移动热源施加和后处理,手把手指导工程师掌握这一动态仿真方法,有效预测焊接过程中的温度场、残余应力与变形。

k6l7m8n9的博客 151

C# NOPI导出EXCEL报错

CSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf116 检查webconfig中的版本跟引用的版本是否一致

u010042708的博客 318

你知道几种数字地与模拟地连接方式及优缺点?

频率选择性:磁珠的阻抗特性随频率变化,只对某个频点的噪声有显著抑制作用,对于频率不确定或无法预知的情况,可能不是最佳选择。在实际应用中,选择合适的连接方式需要根据具体的电路频率、信号类型、设计要求等因素综合考虑,以达到最佳的电磁兼容效果.高频信号干扰:在高频电路中,单点接地可能导致信号回流路径过长,增加地线电感,从而引入高频噪声。限制噪声电流:0欧姆电阻相当于一个非常窄的电流通路,能够有效地限制环路电流,使噪声得到抑制。抑制高频信号:电感对高频信号有较大的阻碍作用,可以有效抑制高频噪声。

linkking27的博客 800

C# Excel导出超出65536行报错 Invalid row number (65536) outside allowable range (0..65535)

  C# Excel导出超出65536行报错 Invalid row number (65536) outside allowable range (0..65535) 一:报错 Invalid row number (65536) outside allowable range (0..65535) 原因:excel03的限制就是65536行,超过行数就报错 二:解决方案-创建多个sheet public String export(List<Record> list, String f)..

深蓝旭的博客 1316

帝企鹅优化器(EPO)详解:从基础原理到代码实战

帝企鹅优化器(EPO)是受帝企鹅群体在极寒环境中抱团取暖行为启发,于2018年提出的一种群体智能优化算法。其核心机制是模拟帝企鹅种群通过动态调整位置来维持体温的过程,主要包括确定集群边界、计算温度分布、衡量个体间距离以及更新位置四个步骤,从而在求解复杂优化问题时有效平衡全局探索与局部开发。该算法具有参数少、结构清晰、易于实现等优点,在工程优化、图像处理、机器学习特征选择以及冷链物流车辆路径规划等领域展现出良好的应用潜力。

qq_42212808的博客 139

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C# 导出excel时有的电脑报错:System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClas

 System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-0000000000...

boat99的专栏 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C#实战:NPOI操作Excel从安装到导出完整指南(附常见报错解决方案)

本文提供了一份完整的C#使用NPOI库操作Excel的实战指南。内容涵盖从通过NuGet安装NPOI、理解HSSF与XSSF核心程序集,到创建与读写单元格数据、处理日期格式等核心操作。指南深入解析了NPOI的稀疏数据模型,强调了正确的创建顺序以避免空引用异常,并提供了文件流处理、大文件内存优化(SXSSFWorkbook)以及常见报错(如文件损坏、格式错误)的解决方案,旨在帮助开发者构建健壮高效的Excel处理功能。

d3e4f的博客 168

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C#判断用户电脑上是否安装有EXCEL的简单方法

c#导出数据保存EXCEL文件,可是如果用户电脑上没有安装EXCEL的话,这时就会提示报错了,这里提供一个简易的检测方法。

tv002的专栏 909

C#winform导出DataGridView数据到Excel表

winform将DataGridView的数据导出到csv文件

NJJML的博客 1449

c#使用Npoi 提示 Excel导出报错 The maximum number of cell styles was exceeded. You can define up to 4000

在使用NPOI 导出EXCEL的时候 提示 The maximum number of cell styles was exceeded. You can define up to 4000 styles in a .xls workbook 出现此问题 原因如下: private static void SetFontSize(IFont font,IWorkbook wk,string co...

sd6275832ght的博客 3185

C# Aspose.Cells导出xlsx格式Excel,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”...

报错信息: 最近打开下载的 Excel,会报如下错误。(xls 格式不受影响) 解决方案: 下载代码(红色为新添代码) public void download() { string fileName = "456.zip";//客户端保存的文件名 string filePath = AppDomain.CurrentDomain.BaseDirector...

weixin_30897233的博客 4110

Office 2007 打开 C# VS2005 导出的Excel时报错:单元格数据太大 Office 2003打开正常 的解决办法...

经测试,有可能是这个问题:导出Excel的代码:privatevoidExportToExcel(){Response.Clear();System.Web.HttpContextcurContext=System.Web.HttpContext.Current;Response.AddHeader("content-d...

weixin_34250709的博客 110

winform中将DataGridView的数据导出为Excel

第一步先增加引用勾选如图(找到项目,右键依赖项,选中COM引用)第二步,增加一个导出类。

qq_58294345的博客 665
上一篇: The process was terminated due to an internal error in the .NET Runtime at IP 7915EE73 (79140000) wi
下一篇: SQL无法启动-TDSSNIClient 初始化失败,出现错误 0x277a,状态代码 0xa
fishernemo
博客等级 码龄18年 31粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值