问题描述
///<summary>///读取xlsxlsx格式的Excel文件的方法///</ummary>///<paramname="path">待读取Excel的全路径</param>///<returns></returns>privateDataTableReadExcelToTable(stringpath){//连接字符串stringconnstring="Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+path+";ExtendedProperties='Excel8.0;HDR=NO;IMEX=1';";//Office07及以上版本不能出现多余的空格而且分号注意//stringconnstring=Provider=Microsoft.JET.OLEDB.4.0;DataSource="+path+";ExtendedProperties='Excel8.0;HDR=NO;IMEX=1';";//Office07以下版本因为本人用Office2010所以没有用到这个连接字符串可根据自己的情况选择或者程序判断要用哪一个连接字符串using(OleDbConnectionconn=newOleDbConnection(connstring)){conn.Open();DataTablesheetsName=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,newobject[]{null,null,null,"Table"});//得到所有sheet的名字stringfirstSheetName=sheetsName.Rows[0][2].ToString();//得到第一个sheet的名字stringsql=string.Format("SELECT*FROM[{0}]",firstSheetName);//查询字符串OleDbDataAdapterada=newOleDbDataAdapter(sql,connstring);DataSetset=newDataSet();ada.Fill(set);returnset.Tables[0];}}protectedvoidButton1_Click(objectsender,EventArgse){varpath=this.TextBox1.Text;try{vardt=this.ReadExcelToTable(path);if(dt.Rows.Count>0){Response.Write("成功!");}}catch(Exceptionex){Response.Write(ex.Message);}}如上读取一个Excel文件的数据,但是如果我的单元格数据中的数据包含一个超链接,请问能否读取到,如果可以那应该怎么读取。
解决方案
解决方案二:
可以读取excelsheet内容,读取其中的Hyperlinks属性判断参考地址:http://dotnet.chinaitlab.com/CSharp/934813.html