.net操作EXCEL详解

背景:

在项目中,需要操作EXCEL 文档,本以为是OBA的应用,但其实不然。OBA是在EXCEL中嵌入.net应用插 件,而我们则是需要在SCSF中操作EXCEL。

我大致调查了一下,主要发现3种方式。

1:使用Microsoft.Office.Interop.Excel,调用EXCEL COM组件,操作EXCEL文件

2:使用OleDb 操作EXCEL数据源,进而利用ADO.net。

3:使用OPEN XML,访问EXCEL zip文件并使用DOM。

实现:

1:使用.NET 调用COM

////////////////////////
private static Microsoft.Office.Interop.Excel.Application xApp;
..
if (xApp == null)
xApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbook xBook = null;
xApp.Visible = false;
try
{
xBook = xApp.Workbooks._Open(@"c:\待发工资.xlsx", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet xSheet = (Microsoft.Office.Interop.Excel.Worksheet)xBook.Sheets[1];
//Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet;
//Microsoft.Office.Interop.Excel.Range rng1 = xSheet.get_Range("A1", Type.Missing);
Microsoft.Office.Interop.Excel.Range cell = (Microsoft.Office.Interop.Excel.Range) xSheet.Cells[2, 1];
string str = "";
for (int i = 2; cell.Value2 != null; i++)
{
str += cell.Value2.ToString() + ".";
cell = (Microsoft.Office.Interop.Excel.Range)xSheet.Cells[2, i];
}
MessageBox.Show(str);
xBook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlDoNotSaveChanges, @"c:\待发工 资.xlsx", Missing.Value);
xApp.Quit();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
}
///////////////////////

时间: 2024-09-13 08:33:58

.net操作EXCEL详解的相关文章

JavaScript操作Cookie详解

 这篇文章主要介绍了JavaScript操作Cookie详解,本文讲解了什么是Cookie.Cookie基础知识.Cookie常见问题.cookie 有两种清除方式.Cookie基础用法.Cookie高级用法等内容,需要的朋友可以参考下     什么是 Cookie "cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie 的值." - w3school cooki

Mybatis中的resultType和resultMap查询操作实例详解_java

resultType和resultMap只能有一个成立,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题.比如:列名和对象属性名不一致时可以使用resultMap来配置:还有查询的对象中包含其他的对象等. MyBatisConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configura

WPS文档隐藏文字操作教程详解

1.打开WPS文字程序,先随便输入一段文字,然后选中要隐藏的文字. 2.点击wps文字下拉键--格式--字体 文档隐藏文字操作教程详解-wps文档工具栏隐藏"> 3.在字体中勾"选隐藏文字" 4.然后就可以看到之前选定的文字隐藏起来了

Android Wifi的forget()操作实例详解

Android  Wifi的forget()操作实例详解 我们在处理某个Wifi连接时,有时会需要忘掉当前连接的密码信息.执行这项操作,我们需要调用WifiManager::forget()函数: /** * Delete the network in the supplicant config. * * This function is used instead of a sequence of removeNetwork() * and saveConfiguration(). * * @p

PHP4与MySQL数据库操作函数详解

mysql|函数|数据|数据库|详解 说PHP就不能不提MySQL,而要讲MySQL,那么PHP也是必然要被提起.PHP的迅速崛起,离不开MySQL,而MySQL的广泛应用,也与PHP休戚相关. 下面详细分析PHP4中与MySQL相关操作的函数(共32个,开头都为mysql_): <1>. 连接数据库服务器(database server)的函数(2个): (1).mysql_connect() 格式:int mysql_connect(string [hostname] [:port],st

iSCSI Target和Initiator安装与操作步骤详解

iSCSI Target 编译安装过程 1. 解压: tar zxvf iscsitarget-1.4.18 .t ar.gz 2. cd iscsitarget-1.4.18 3. Linux2.6.32的内核太新了最新的 iSCSI Target 版本 1.4.18 还没有支持,网上有高手做了相应的补丁,于是打上补丁 patch -p1 <iscsitarget-1.4.18+linux-2.6.32.patch 4. 编译: make KSRC= /usr/src /linux-2.6.3

Android对sdcard扩展卡文件操作实例详解_Android

Android对sdcard扩展卡文件的操作其实就是普通的文件操作,但是仍然有些地方需要注意.比如: 1.加入sdcard操作权限: 2.确认sdcard的存在: 3.不能直接在非sdcard的根目录创建文件,而是需要先创建目录,再创建文件: 实例如下: (1)在AndroidManifest.xml添加sdcard操作权限 <!-- sdcard权限 --> <uses-permission android:name="android.permission.WRITE_EXT

Android编程之在SD卡上进行文件读写操作实例详解_Android

本文实例讲述了Android编程之在SD卡上进行文件读写操作的方法.分享给大家供大家参考,具体如下: 很多知识只有真正理解掌握之后才能运用自如,举一反三.对Java中的文件操作和android系统SD卡里面的文件操作,你觉得有区别吗,显然没有本质区别,如果勉强说有,那也是不足为道滴,但我们在实际运用中却要注意如下几点,不然问题会缠上你. 1.首先想要对android系统SD卡里文件操作需要添加使用权限: android系统是不会让外来程序随意动自己内存的,如果没有许可证,不好意思,不准你动我地盘

PHP文件上传操作实例详解_php技巧

本文实例分析了PHP文件上传操作.分享给大家供大家参考,具体如下: 文件上传 发生在浏览器向服务器发出的请求中. 文件,对于浏览器来讲,就是表单中的一个特殊类型的数据而已. 浏览器表单中的数据,两种类型: 字符串类型(字节流编码) 文件类型(二进制编码),文件是表单数据中一部分 服务器角度: 在接受浏览器请求时,处理好表单内的数据.根据数据类型不同使用不同处理方法: 字符串类型,存储在$_POST变量中(内存) 文件型数据,存储在上传临时目录中 表单提交时,浏览器会默认的行为: 表单内的的内容都