C#如何读写EXcel然后在dataGridView1中显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何读写EXcel然后在dataGridView1中显示相关的知识,希望对你有一定的参考价值。

new OleDbDataAdapter("select * from [Sheet1$]", strConn),strConn指的是什么呀?哪位大哥有源码看看么?

参考技术A public void ReadExcel(string sExcelFile,GridView dgBom)
...
DataTable ExcelTable;
DataSet ds = new DataSet();
//Excel的连接
OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sExcelFile + ";" + "Extended Properties=Excel 8.0;");
objConn.Open();
DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1
string strSql = "select * from [" + tableName + "]";
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);
myData.Fill(ds, tableName);//填充数据

dgBom.DataSource =ds;
dgBom.DataBind();
objConn.Close();

ExcelTable = ds.Tables[tableName];
int iColums = ExcelTable.Columns.Count;//列数
int iRows = ExcelTable.Rows.Count;//行数

//定义二维数组存储 Excel 表中读取的数据
string[,] storedata = new string[iRows, iColums];

for(int i=0;i<ExcelTable.Rows.Count;i++)
for (int j = 0; j < ExcelTable.Columns.Count; j++)
...
//将Excel表中的数据存储到数组
storedata[i, j] = ExcelTable.Rows[i][j].ToString();



参考用
参考技术B strConn 是连接字符串

看你连接什么数据库。
access:connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\数据库名称.mdb"

Sql Server
connectionString="Data Source=localhost;Initial Catalog=数据库名称;User ID=用户名;Password=密码"追问

OLEDB4.0是指版本吧?那我怎么查看我现在安装的版本呢?连接SQL数据库我试过了,那Acess也是数据库吧,需要安装么?

在C#中使用另外一个Spire.XLS来操作Excel数据

Spire.XLS是一个功能强大的C#组件,它提供了对Excel文件进行读写操作的能力。使用Spire.XLS可以快速、高效地读写Excel文件,包括导入、导出、修改和删除数据、格式、图表等内容。本文将介绍如何使用Spire.XLS进行Excel文件的读写操作。

 

一、Spire.XLS的安装与引用

在使用Spire.XLS进行Excel文件的读写操作之前,我们需要先安装和引用Spire.XLS。Spire.XLS提供了两种安装方式,一种是通过NuGet包进行安装,另一种是手动下载并安装。如果使用NuGet包安装,可以在Visual Studio的“NuGet包管理器”中搜索“Spire.XLS”进行安装。如果手动下载安装,则需要从Spire官网下载并安装Spire.XLS组件。

安装完成后,需要在项目中引用Spire.XLS。可以在Visual Studio的“引用”中添加对Spire.XLS组件的引用,也可以手动将Spire.XLS的DLL文件添加到项目中。

二、Spire.XLS的基本用法

1.打开和读取Excel文件

使用Spire.XLS读取Excel文件的方法很简单,我们只需要实例化一个Workbook对象,然后调用其LoadFromFile方法即可打开Excel文件。

using Spire.Xls; // 打开Excel文件 Workbook workbook = new Workbook(); workbook.LoadFromFile("sample.xlsx");

打开了名为“sample.xlsx”的Excel文件,并将其加载到Workbook对象中。接下来,我们通过Workbook对象访问Excel文件中的各个部分,例如工作表、单元格、图表等。

2.读取工作表中的数据

Spire.XLS提供了多种读取Excel文件中数据的方法,可以根据具体情况选择使用。下面是一些常用的读取工作表中数据的方法。

(1)读取工作表中指定单元格的数据

可以通过Worksheet对象的Cells属性访问工作表中的单元格,然后使用Value属性获取单元格中的数据。

using Spire.Xls;

// 打开Excel文件
Workbook workbook = new Workbook();
workbook.LoadFromFile("sample.xlsx");

// 获取第一个工作表
Worksheet worksheet = workbook.Worksheets[0];

// 读取单元格A1中的数据
string value = worksheet.Cells["A1"].Value;

(2)读取工作表中指定范围的数据

可以使用Worksheet对象的Range属性获取指定范围的单元格,然后使用Value属性获取单元格中的数据。

using Spire.Xls;

// 打开Excel文件
Workbook workbook = new Workbook();
workbook.LoadFromFile("sample.xlsx");

// 获取第一个工作表
Worksheet worksheet = workbook.Worksheets[0];

// 读取A1:B2范围内的数据
object[,] values = worksheet.Range["A1:B2"].Value;

(3)遍历工作表中的数据 可以使用Worksheet对象的Cells属性来访问工作表中的单元格数据。Cells属性返回一个CellRange对象,该对象表示指定区域内的所有单元格。例如,要访问第一个工作表中的A1单元格,可以使用以下代码:

Worksheet sheet = workbook.Worksheets[0];
CellRange range = sheet.Cells[1, 1];

上述代码首先获取第一个工作表,然后使用Cells属性访问该工作表的A1单元格,并将其保存在一个CellRange对象中。

为了遍历整个工作表中的单元格,可以使用foreach循环结构遍历Cells属性。例如,以下代码将遍历第一个工作表中的所有单元格,并将它们的值打印到控制台:

Worksheet sheet = workbook.Worksheets[0];
foreach (CellRange cell in sheet.Cells)

    Console.WriteLine(cell.Value);

上述代码首先获取第一个工作表,然后使用foreach循环遍历该工作表的所有单元格,并打印它们的值到控制台。

(4)写入数据到工作表

使用Spire.XLS库向工作表中写入数据也非常简单。可以使用CellRange对象的Value属性或SetValue方法将值写入单元格。例如,以下代码将在第一个工作表的A1单元格中写入字符串“Hello World!”:

Worksheet sheet = workbook.Worksheets[0];
CellRange range = sheet.Cells[1, 1];
range.Value = "Hello World!";

上述代码首先获取第一个工作表,然后使用Cells属性访问该工作表的A1单元格,并将字符串“Hello World!”写入该单元格。

如果要在单元格中写入数字或日期等值类型,则可以将值分配给CellRange对象的Value属性。例如,以下代码将在第一个工作表的A2单元格中写入数字123.45:

Worksheet sheet = workbook.Worksheets[0];
CellRange range = sheet.Cells[2, 1];
range.Value = 123.45;

上述代码首先获取第一个工作表,然后使用Cells属性访问该工作表的A2单元格,并将数字123.45写入该单元格。

(5)保存和关闭工作簿

完成对工作表的读写操作后,必须将工作簿保存到磁盘上的Excel文件中。可以使用Workbook对象的Save方法将工作簿保存为Excel文件。例如,以下代码将工作簿保存为名为“output.xlsx”的Excel文件:workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);

上述代码将工作簿保存为一个名为“output.xlsx”的Excel文件,该文件的版本为Excel 2013。

在保存工作簿之后,必须使用Workbook对象的Dispose方法关闭工作簿。例如,以下代码将关闭工作簿:workbook.Dispose();

上述代码将关闭工作簿,并释放与之关联的所有资源。

除了读取和写入基本的数据之外,Spire.XLS还提供了许多其他功能,例如:

  1. 样式设置:Spire.XLS可以通过代码设置单元格样式,例如字体、字号、颜色、边框等等。

  2. 公式计算:Spire.XLS可以执行Excel公式计算,并输出结果。这对于需要处理大量数据的应用程序非常有用。

  3. 图表和图形:Spire.XLS支持创建各种类型的图表和图形,例如柱状图、饼图、折线图、散点图等等。

  4. 数据筛选和排序:Spire.XLS可以对Excel数据进行筛选和排序,以便更好地管理和分析数据。

  5. 数据透视表:Spire.XLS支持创建数据透视表,以便更好地分析和汇总数据。

总之,Spire.XLS是一个非常强大的Excel操作库,可以方便快捷地实现Excel文件的读写、样式设置、公式计算、图表和图形、数据筛选和排序、数据透视表等各种功能。如果你需要在C#应用程序中处理Excel文件,Spire.XLS是一个值得考虑的选择。

以上是关于C#如何读写EXcel然后在dataGridView1中显示的主要内容,如果未能解决你的问题,请参考以下文章

在C#中使用另外一个Spire.XLS来操作Excel数据

紧急求助 c#流不支持并发IO读写问题

《C#零基础入门之百识百例》(九十六)本地数据交互 -- 读写Excel表格文件

《C#零基础入门之百识百例》(九十六)本地数据交互 -- 读写Excel表格文件

如何实现c# winform DataGridView添加一行,添加数据后,保存到数据库?

winform c# Datagridview 选中行 急!!!