c#如何读写EXCEL表格?

如题所述

在C#中读取Excel表格内容,可以使用OleDbDataAdapter从Excel文件中读取数据。以下是一个示例代码片段,展示了如何将Excel文件中的数据读入到一个数组中:

首先定义一个类来封装读取的数据,例如:

public struct WaterData { public float X; public float Y; }

然后定义一个方法用于从Excel文件中读取数据:

public class DataReader { public static WaterData[] ImportDataFromExcel(string fileName) { string strConn; strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Extended Properties=Excel 8.0;" + "data source=" + fileName; DataSet myDataSet1; DataSet myDataSet2; try { OleDbDataAdapter myCommand1 = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn); myDataSet1 = new DataSet(); myCommand1.Fill(myDataSet1); myCommand1.Dispose(); } catch (Exception ex) { throw new Exception("工作表名称不正确" + ex.Message); } DataTable table = myDataSet1.Tables[0]; WaterData[] ground = null; ground = new WaterData[table.Rows.Count]; for (int i = 0; i < table.Rows.Count; i++) { DataRow row = table.Rows[i]; ground[i].X = float.Parse(row[0].ToString()); ground[i].Y = float.Parse(row[1].ToString()); } return ground; } }

在上述代码中,首先定义了一个连接字符串来连接到Excel文件。然后,使用OleDbDataAdapter从指定的工作表中读取数据。如果工作表名称不正确,会抛出异常。

将读取的数据填充到一个DataTable对象中,再遍历该表的每一行,将数据填充到WaterData数组中。最后返回这个数组。

这种方法适用于简单的数据读取需求,但对于更复杂的数据处理,可能需要进一步优化。

在实际应用中,还可能需要处理数据类型转换、错误处理以及性能优化等问题。此外,对于更现代的Excel文件格式,可以考虑使用其他库,如EPPlus,以获得更好的兼容性和性能。
温馨提示:答案为网友推荐,仅供参考
相似回答