在ASP.NET中读写Excel文件有四种解决方案。
在ASP.NET应用程序常常会遇到需要从Excel文件中读取数据或将数据写入Excel的需求。一般来讲,在ASP.NET中读写Excel文件有四种解决方案。
1.1.1 使用OLE DB
使用OLE DB可以以查询数据库的方式来读取Excel文件,因为在某种程度上Excel表格可以看成是一张一张的数据表。其二者的主要区别在于所使用的数据引擎不一样。使用OLE DB访问Excel的要点是计算机上必须具有Microsoft Access Data Component 2.6(MADC2.6)以上版本,同时在连接字符串上必须声明“Extended Properties=Excel 8.0”,这里的指定Excel 版本号如果高于8.0可能会出错,所以一般来讲必须使用Excel 8.0。
然后其它的写法就和一般的访问数据库一样了,打开连接,填充数据集,再关闭连接即可。例如下面的实现代码:
//创建一个数据链接
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\sample.xls;Extended Properties=Excel 8.0" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * from [Sheet1$] " ;
myConn.Open ( ) ;
//打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
//创建一个 DataSet对象
myDataSet = new DataSet ( ) ;
//得到自己的DataSet对象
myCommand.Fill ( myDataSet , "[Sheet1$]" ) ;
//关闭此数据链接
myConn.Close ( ) ;
代码 7-1
使用这种解决方案的优点是不需要其他的服务器组件,部署非常方便,但是其缺点也是明显的,用它来读取Excel 2003格式以上的文件会存在数据丢失的情况,而且也无法生成Excel文件。
1.1.2 使用Office主互操作程序集
另外一种解决方案是使用Office主互操作程序集,采用这种方式需要在服务器上安装Office 2003。但是能够比较精细的控制Excel文件的方方面面,包括格式、字体、颜色等等。
下面的代码演示了如何读取Excel文件中某个单元格的值:
string excelFilePath=@"D:\Book1.xls";
Excel.Application myExcel=new Excel.ApplicationClass( ) ;
object oMissing = System.Reflection.Missing.Value ;
myExcel.Application.Workbooks.Open(excelFilePath,oMissing,oMissing,oMissing,oMissing,oMissing, oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oM
相关文档:
DateTime dt = DateTime.Now;
//本月第一天时间
DateTime dt_First = dt.AddDays(-(dt.Day) + 1);
Label1.Text = dt_First.ToString("yyyy-MM-dd");
//将本月月数+1
DateTime dt2 = dt.AddMonths(1);
//本月最后一天时间
DateTime dt_Last = dt2.AddDays( ......
c#(或vb.net)程序改进
1、使用值类型的ToString方法
在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中 ......
大家知道,Microsoft为了更好地预防恶意用户和攻击者的攻击,在默认情况下,没有将 IIS6.0 安装到 Windows Server 2003 家族的成员上。而且,当我们最初安装 IIS6.0 时,该服务在高度安全和"锁定"模式下安装。在默认情况下,IIS6.0 只为静态内容提供服务即,诸如 ASP、ASP.NET、在服务器端的包含文件、WebDAV 发布和 FrontP ......
ASP.NET页面跳转有什么方法呢?,现在给大家介绍三种方法,他们的区别是什么呢?让我们开始吧:
ASP.NET页面跳转1、response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷! ......