首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

读取Excel的第三方控件

2012-03-30 
求一个读取Excel的第三方控件1、支持Office2003以及以上版本(2007,2010)的读取2、不需要安装office3、开源(C#

求一个读取Excel的第三方控件
1、支持Office2003以及以上版本(2007,2010)的读取
2、不需要安装office
3、开源(C#.net)
4、能识别合并单元格
谢谢大家了!

[解决办法]
如果没有图片的话,使用oledb自己读取就行了。
第三方的软件,抛开微软的office套件,好像在读取图片上都有问题。


[解决办法]

C# code
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties=\"Excel 8.0;HDR=no;IMEX=0\"";            string StrSQL = "SELECT * FROM [Sheet1$]";            System.Data.OleDb.OleDbDataAdapter DataAda = new System.Data.OleDb.OleDbDataAdapter(StrSQL, ConnectionString);            DataSet DSTemp = new DataSet();            DataAda.Fill(DSTemp);            DataAda.Dispose();
[解决办法]
我推荐 npoi
[解决办法]
这是我写的一个方法
C# code
    /// <summary>        /// 获取excel数据,返回一个dateset        /// </summary>        /// <param name="filePath">excel的物理路径</param>        /// <param name="sheet">第几个sheet</param>        /// <returns></returns>        public static DataSet LoadDataFromExcel(string filePath, int sheet)        {            try            {                string strConn = "";                if (filePath.EndsWith("xls"))                    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";                else if (filePath.EndsWith("xlsx"))                    strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";                else                    return null;                OleDbConnection OleConn = new OleDbConnection(strConn);                OleConn.Open();                String sql = "SELECT * FROM  [Sheet" + sheet + "$]";//可是更改Sheet名称,比如sheet2,等等                   OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);                DataSet OleDsExcle = new DataSet();                OleDaExcel.Fill(OleDsExcle, "Sheet" + sheet);                OleConn.Close();                return OleDsExcle;            }            catch (Exception err)            {                return null;            }        }
[解决办法]
SpreadsheetGear/farPoint
[解决办法]
在C#.net中定义和使用自己的特性
[解决办法]
http://ufo-crackerx.blog.163.com/blog/static/11307877820119238517149/

http://www.e-iceblue.com/Download/download-office-for-net-now.html
[解决办法]
http://ufo-crackerx.blog.163.com/blog/static/1130787782011112010495744/

热点排行