当前位置: 首页 > news >正文

做3dmax的网站/沈阳关键词优化费用

做3dmax的网站,沈阳关键词优化费用,网站自助建站,中山网站建设文化此文章从本人原百度空间转来,并计划近几天写完此系列,原地址为:http://hi.baidu.com/seni2007/blog/item/3f9d19015877510b728da574.html前言 在.NET开发中,不管是web程序还是桌面软件(尤其是涉及数据库操作的MI…


此文章从本人原百度空间转来,并计划近几天写完此系列,原地址为:

http://hi.baidu.com/seni2007/blog/item/3f9d19015877510b728da574.html

前言

      在.NET开发中,不管是web程序还是桌面软件(尤其是涉及数据库操作的MIS系统等),常常需操作Excel,如导出数据到Excel,读取Excel中数据到程序中等。总结起来,其操作不外乎创建、打开、读写、保存(后退出/释放),而其操作方法,则主要有:通过ADO.NET数据连接方式、通过Excel对象模型“自动化”操作、使用中间数据格式如文本文件,XML等间接操作Excel、使用第三方控件(主要用于向Excel传输数据)等。

在开始讨论之前,先把相关的一些网上资源罗列一下,其中大部分来自MSDN:

MSDN: 如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿传输数据
http://support.microsoft.com/kb/306023/zh-cn

MSDN: 从 .NET 开发人员的角度理解 Excel 对象模型
http://msdn.microsoft.com/zh-cn/library/aa168292(office.11).aspx

如何:使用 COM Interop 创建 Excel 电子表格(C# 编程指南)
http://msdn.microsoft.com/zh-cn/library/ms173186(VS.80).aspx

Office XP 主互操作程序集入门
http://msdn.microsoft.com/zh-cn/library/aa201322(office.11).aspx

如何通过 Visual C# 使 Excel 自动执行操作以使用数组来填充或获取某区域中的数据
http://support.microsoft.com/kb/302096/zh-cn

如何在 Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化
http://support.microsoft.com/kb/302084/zh-cn

如何使用 Visual C# .NET 处理 Excel 事件
http://support.microsoft.com/kb/823981/zh-cn

C#中创建、打开、读取、写入、保存Excel的一般性代码
http://hi.baidu.com/zhaochenbo/blog/item/f6d70ff7bf32fa2a730eec39.html

如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
http://support.microsoft.com/kb/306572/zh-cn

在 Visual C#.NET 中使用 GetOleDbSchemaTable 从 Excel 如何: 检索元数据
http://support.microsoft.com/kb/318452/zh-cn

与 XML 一起使用 Visual Basic 和 ASP 生成 Excel 2003 工作簿
http://msdn.microsoft.com/zh-cn/library/aa203722(office.11).aspx

下面开始就各种方法逐步说明其具体的Excel操作过程:

1.通过ADO.NET数据库连接方式

Microsoft Jet 提供程序用于连接到 Excel 工作簿。在以下连接字符串中,Extended Properties 关键字设置 Excel 特定的属性。 “HDR=Yes;”指示第一行中包含列名,而不是数据,“IMEX=1;”通知驱动程序始终将“互混”数据列作为文本读取。Excel 8.0 针对Excel2000及以上版本,Excel5.0 针对Excel97。

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""
注意,Extended Properties 所需的双引号必须还要加双引号。

 使用ADO.NET打开、读取并关闭代码示例如下:

ContractedBlock.gifExpandedBlockStart.gifCode
 1using System.Data.OleDb;
 2using System.Data;
 3
 4String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
 5 "Data Source=c:/test.xls;" +
 6 "Extended Properties=Excel 8.0;";
 7OleDbConnection objConn = new OleDbConnection(sConnectionString);
 8objConn.Open();
 9OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM [sheet1]", objConn);
10OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
11objAdapter1.SelectCommand = objCmdSelect;
12DataSet objDataset1 = new DataSet();
13//将Excel中数据填充到数据集
14objAdapter1.Fill(objDataset1, "XLData");
15objConn.Close();

从上面可以看出,使用ADO.NET可将Excel当作普通数据库,使用SQL语句来操作。

通过ADO.NET获取Excel文件的各Sheet名称,可使用元数据方式:

ContractedBlock.gifExpandedBlockStart.gifCode
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
     
"Data Source=c:/test.xls;" +
     
"Extended Properties=Excel 8.0;";
OleDbConnection cn 
= new OleDbConnection(sConnectionString);
cn.Open();
DataTable tb 
= cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
foreach (DataRow row in tb.Rows)
ExpandedBlockStart.gifContractedBlock.gif
{
    
//遍历弹出各Sheet的名称
    MessageBox.Show(row["TABLE_NAME"]);
}


关于使用ADO.NET创建并写入Excel文件与普通数据库操作极为类似,参见以下代码:

String sConnectionString 
= "Provider=Microsoft.Jet.OLEDB.4.0;" +
     
"Data Source=c:/test.xls;" +
     
"Extended Properties=Excel 8.0;";
OleDbConnection cn 
= new OleDbConnection(sConnectionString);
string sqlCreate = "CREATE TABLE TestSheet ([ID] INTEGER,[Username] VarChar,[UserPwd] VarChar)";
OleDbCommand cmd 
= new OleDbCommand(sqlCreate, cn);
//创建Excel文件:C:/test.xls
cn.Open();
//创建TestSheet工作表
cmd.ExecuteNonQuery();
//添加数据
cmd.CommandText = "INSERT INTO TestSheet VALUES(1,'elmer','password')";
cmd.ExecuteNonQuery();
//关闭连接
cn.Close();

关于SQL语句中用到的数据类型,请查看System.Data.OleDb.OleDbType 枚举。

至此,使用ADO.NET打开、创建、读取、写入、保存并退出已全部实现,总结起来,与数据库操作基本无异,很简单。这种方式的好处就是通用性强,将Excel中内容看作数据表,读取操作简单可靠,适合内容规范的Excel表格的数据读取。缺点是当Excel结构复杂,如含合并单元等时,无法正确读取,甚至出现不可预知的异常。

后面再继续讲述其他几种方式:
2.通过Excel对象模型的“自动化”操作
3.通过中间数据格式间接操作
4.使用第三方控件

转载于:https://www.cnblogs.com/senisoft/archive/2009/09/17/1522153.html

http://www.lbrq.cn/news/1349875.html

相关文章:

  • 做网站都需要了解什么/windows优化大师软件介绍
  • 安徽茶叶学会 网站建设/二维码引流推广的平台
  • 网站怎样做域名绑定/百度移动点击排名软件
  • 做门户网站用什么技术好/seo网站推广主要目的不包括
  • 做平行进口的汽车网站/360营销推广
  • 哈尔滨的网站建设公司哪家好/品牌营销的概念
  • 网站怎么做必须交钱吗/网站运营怎么做
  • 昆明企业建站模板/淘宝推广方法有哪些
  • 网络营销推广网站收录哪些/韶山百度seo
  • php 企业网站 后台图片上传/百度我的订单
  • python可以做网站/查域名
  • 网站红色搭配/seo软件简单易排名稳定
  • 微信昵称大全/指定关键词seo报价
  • 网站制作过程简介/超级外链在线发布
  • 网站解析后几天可以访问/自媒体有哪些平台
  • 做问卷调查有哪些网站好/交换友情链接的渠道
  • 网站建设军成/1688官网
  • Dreamweaver上网站怎么做/湖南网络营销外包
  • 武汉网站建设哪家最好/5188关键词挖掘
  • 为什么找别人做网站/太原seo哪家好
  • 如何建立公司网站是什么/客户关系管理
  • 手机做炫光图头像的网站/优化大师电脑版官方免费下载
  • appserv做网站教程/培训心得体会300字
  • 做企业网站不好混/广州中小企业seo推广运营
  • 阳春市住房规划建设局网站/提高网站排名软件
  • 自己可以做网站空间吗/企业网站的作用
  • 国家图书馆网站建设介绍/哪些行业适合做网络推广
  • 哪个浏览器不屏蔽网站/优化一下
  • 做网做网站建设/app线上推广是什么工作
  • 深圳做网站和视频宣传机构/网站制作软件
  • 深度学习的视觉惯性里程计(VIO)算法优化实践
  • 利用vue.js2X写前端搜索页面,express写后端API接口展现搜索数据
  • SQL120 贷款情况
  • 西门子PLC基础指令6:读取时钟指令、设置时钟指令、使能含义与注意
  • Javascript/ES6+/Typescript重点内容篇——手撕(待总结)
  • Vue.js 教程