操作Excel思路

Posted hanliping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作Excel思路相关的知识,希望对你有一定的参考价值。

1:使用Aspose.Cells.dll方式
     ps: Aspose.Cells 插件 是收费插件
  •  使用过程可能存在的问题:单元格数据大于32K不能写入excel

            处理方式: 可将过大的单元格数据写入文本框等 

  • 读取数据,当行列数超过一定范围会报错:

如果出现以下情况之一,则可能显示此消息:
文件所含行列数超过了 1,048,576 行或 16,384 列。若要解决此问题,请使用文本编辑器(如 Microsoft Word)打开源文件。将源文件另存为若干个较小的文件,使其符合上述行数和列数限制,然后在 Microsoft Excel 中打开这些较小的文件。如果无法在文本编辑器中打开源数据,请尝试将数据导入 Microsoft Access,然后将数据分批从 Access 导出到 Excel 中。
试图用于粘贴制表符分隔数据的区域太小。 若要解决此问题,请在工作表中选择一个足 够大的区域,以容纳每个分隔项。

Excel 的行列数不能超过 1,048,576 行和 16,384 列的限制。
默认情况下,Excel 在一个工作簿文件中放置三个工作表。每个工作表可以包含 1,048,576 行和 16,384 列的数据。如果您的计算机有足够的内存支持增加的数据,工作簿可以包含三个以上工作表。

对比:
 
 
2:使用NPOI插件
 
    该插件1.2.1版本只支持Excel2003以下版本,操作类:【HSSFWorkbook】
   
    如果支持Excel2007以上版本需要使用高版本NPOI插件 【XSSFWorkbook】
 
3:openxml插件
 
   支持excel2007及以上版本,不支持03以下版本
   读取时,Excel单元格时间格式分辨不出来 
 
4:使用OLEDB(需要安装引擎)

      使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作为数据源即可     

连接字符串:

  • Excel 97-2003

 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:myFoldermyOldExcelFile.xls;Extended Properties="Excel 8.0;HDR=YES";

 

  • Excel 2007-2013

         Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:myFoldermyExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";

 

  • Access 97-2003

          Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccessFile.mdb;Persist Security Info=False;

 

  • Access 2007

          Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccessFile.accdb;Persist Security Info=False;

 

  • DBF / FoxPro

          Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:folder;Extended Properties=dBASE IV;User ID=Admin;

注:

"HDR=Yes;"声名第一行的数据为域名,并非数据。 

"HDR=No;"第一行为数据。

 

不能读取不规则数据:当某列前8条数据为int类型,后面为string类型,则读取第八条后的数据有问题

服务器未安装office软件的时候,使用连接字符串,读取excel失败的解决办法,下载 安装即可

 
 
该技术常见问题汇总:
 
  
 

 

Database engine(数据引擎):一些预先存储于数据库中的组件;

  Microsoft JET (Joint Engine Technology):Microsoft Jet 数据引擎,1992年发行初版,主要运用于 Microsoft Accesss的数据连接,Jet引擎,仅能访问  Office97-2003;

  Microsoft ACE(Office Access Connectivity Engine ):随着Access 2007发布之后, Microsoft Jet 数据引擎迎来了特殊的一次改变,名称变为Access Database Engine,也就是Microsoft ACE,该版本兼容之前的版本,ACE引擎既可以访问Office 2007,也可以访问Office 97-2003。

  

  随着时间推移,Microsoft JET注定会被微软抛弃,但微软仍会继续支持Microsoft ACE。

  Microsoft ACE OLEDB 12.00


 
5:Spire.XLS for .Net
分为收费版和免费版
免费版一个文件最多5个sheet,每个sheet最多200行
收费版/破解版 
官网说明:
 
中文描述:
https://www.e-iceblue.cn/Introduce/Free-Spire-XLS-NET.html
 

以上是关于操作Excel思路的主要内容,如果未能解决你的问题,请参考以下文章

excel操作如何在网页中实现

excel 当某单元格日期是当天日期时,自动隐藏前面的列?

Python开发Excel的操作之——读取

想要用MFC操作excel文件,有些问题向大侠们请教!

Python3 操作Excel

asp.net 客户端iframe中的excel文件如何操作