在C#中将Excel工作表的内容写入控制台时,输出不是人类可读的格式
参见英文答案 >
Reading Excel files from C#????????????????????????????????????32个
我正在尝试阅读excel表并向控制台显示内容.代码在这里 FileStream fileStream = new FileStream(@"E:USERSMyWorkbook.xlsx",FileMode.Open,FileAccess.Read); byte[] byteCode = new byte[fileStream.Length]; fileStream.Read(byteCode,(int)fileStream.Length); foreach (var byteValue in byteCode) { Console.Write(Convert.ToChar(byteValue)); } Console.ReadLine(); 输出是
它出什么问题了? 解决方法
在Oledb(对象链接和嵌入数据库)的帮助下. OLE DB是Microsoft用于访问不同数据源的战略性低级应用程序接口(API).
OLE DB中的对象主要由数据源对象,会话对象,命令对象和行集对象组成.使用OLE DB的应用程序将使用此请求序列: >初始化OLE. 这是以前stackoverflow的链接,回答如何使用olddb从excel访问数据. How to read data from excel file using c# 这是示例代码 string path = @"E:USERSMyWorkbook.xlsx"; //Create connection string to Excel work book string excelConString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;Persist Security Info=False"; OleDbConnection excelCon = new OleDbConnection(excelConString); excelCon.Open(); DataTable dtsheet = new DataTable(); dtsheet = excelCon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] { null,null,"TABLE" }); foreach (DataRow row in dtExcelSheet.Rows) { Query = string.Format("Select * from [{0}]",row["TABLE_NAME"].ToString()); //Create OleDbCommand to fetch data from Excel OleDbCommand cmd = new OleDbCommand(Query,excelCon); DataSet ds = new DataSet(); OleDbDataAdapter oda = new OleDbDataAdapter(Query,excelCon); excelCon.Close(); oda.Fill(ds); DataTable Exceldt = ds.Tables[0]; foreach (DataRow dr in Exceldt.Rows) { //code to display } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |