private OleDbConnection conn = null;
//建立与Excel的连接
private void getConnection()
{
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + this.label8.Text.Trim() + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
if (conn == null)
conn = new OleDbConnection(connectionString);
}
//
private OleDbDataReader dataReader(string sql)
{
this.getConnection();
OleDbDataReader dataReader = null;
OleDbCommand cmd = new OleDbCommand(sql, conn);
try
{
conn.Open();
dataReader = cmd.ExecuteReader();
}
catch (Exception ex) { }
return dataReader;
}
//填充发件箱
private void fillOutBox()
{
string sql = "SELECT * FROM [OutBox$]";
OleDbDataReader dataReader = this.dataReader(sql);
DataTable dt = new DataTable();
dt.Columns.AddRange(
new DataColumn[]{
new DataColumn("mobile",typeof(string)),
new DataColumn("message",typeof(string)),
new DataColumn("time",typeof(string))
});
int i = 0;
while (dataReader.Read())
{
i++;
if (i == 1)
continue;
DataRow dr = dt.NewRow();
dr["mobile"] = Convert.ToString(dataReader.GetValue(1));
dr["message"] = Convert.ToString(dataReader.GetValue(2));
dr["time"] = Convert.ToString(dataReader.GetValue(3));
dt.Rows.Add(dr);
}
this.close();
this.insertFillOutBox(dt);
}
private void insertFillOutBox(DataTable dt)
{
this.sHToutBoxBindingSource.DataMember = "SHToutBox";
this.sHToutBoxBindingSource.DataSource = dt;
this.sHToutBoxDataGridView.DataSource = this.sHToutBoxBindingSource;
//把导入的数据插入数据库
string str_sql = "";
string mobile = "";
string message = "";
string time = "";
int outBoxRowsCount = this.sHToutBoxDataGridView.Rows.Count;
for (int j = 0; j < outBoxRowsCount; j++)
{
mobile = this.sHToutBoxDataGridView.Rows[j].Cells[0].Value.ToString();
message = this.sHToutBoxDataGridView.Rows[j].Cells[1].Value.ToString();
time = this.sHToutBoxDataGridView.Rows[j].Cells[2].Value.ToString();
str_sql = "INSERT INTO SHToutBox(mobile, message, time)VALUES ('" + mobile + "','" + message + "','" + time + "')";
this.tableAdapterManager.SHToutBoxTableAdapter.Adapter.InsertCommand.CommandText = str_sql;
this.tableAdapterManager.SHToutBoxTableAdapter.Adapter.InsertCommand.Connection.Open();
this.tableAdapterManager.SHToutBoxTableAdapter.Adapter.InsertCommand.ExecuteNonQuery();
this.tableAdapterManager.SHToutBoxTableAdapter.Adapter.InsertCommand.Connection.Close();
}
}
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Excel文件(*.xlsx,*.xls)|*.xlsx;*xls";//设置打开文件的格式
dialog.InitialDirectory = path;//指定初始化路径
if (File.Exists(path + @"\phone.xlsx"))
{
dialog.FileName = "phone.xlsx";
}
DialogResult result = dialog.ShowDialog();
if (result == DialogResult.OK)
{
this.label8.Text = dialog.FileName;
if (this.label8.Text.Trim() != "")
{
try
{
this.fillOutBox();
this.statusBarPanel1.Text = "导入数据成功";
this.statusBarPanel2.Text = "";
}
catch (Exception exc) { }
}
else
{
this.statusBarPanel1.Text = "请选择导出的Excel文件";
}
}
分享到:
相关推荐
如果你的项目只需要简单地读取Excel数据,`System.Data.OleDb`可能是最快速、最简便的选择。如果需要进行复杂的操作或支持.xlsx格式,第三方库会更为合适。在本示例中,`TestExcel`可能是用于演示这些概念的代码或...
在本文中,我们将深入探讨如何使用OpenXML库来读取Excel数据,特别关注日期和浮点型数据的处理问题。 首先,我们需要理解OpenXML的工作原理。OpenXML是基于XML的文件格式,它将Excel文档分解为多个组件,如工作簿、...
在本场景中,我们关注的重点是如何在读取Excel文件数据并将其导入到dataGridView时,同时展示一个进度条(progressbar)和当前正在读取的条目信息。这将提升用户体验,让用户了解后台操作的状态。 首先,我们需要...
C#读取Excel数据通常依赖于Microsoft Office Interop Excel库,这是一组COM组件,允许非Office应用程序(如C#)与Office应用程序(如Excel)进行交互。在这个示例中,通过创建`Microsoft.Office.Interop.Excel....
总之,这个项目提供了一个C# WinForm应用读取Excel数据的例子,使用了第三方库(可能是NPOI或EPPlus),并通过用户界面展示数据。开发过程中,理解库的使用,熟悉WinForm控件事件处理,以及掌握文件I/O操作是关键...
以上就是C#读取Excel数据、创建Excel文件以及获取标题和表名的基础知识。在实际项目中,可能还需要考虑更多的细节,比如错误处理、性能优化、兼容不同版本的Excel文件等。通过学习和理解这些概念,你将能够更有效地...
.Net C# 读取Excel表格数据,根据表格数据结构在数据库新建一张对应的数据表既可以上传导入SQlServer数据库,代码有上传文件功能和解析表格数据功能,这里是建数据转成DataTable保存,导入速度对循环导入效率高很多...
C#读取Excel数据时,我们需要借助第三方库,因为.NET Framework标准库并不直接支持Excel文件的读写。 1. **NPOI库**:NPOI是.NET平台上的一个开源库,它为处理Excel文件提供了API。使用NPOI,你可以轻松地读取工作...
在C#编程环境中,将Excel数据导入到TextBox控件中是一项常见的需求,特别是在处理数据录入或数据展示时。本文将详细介绍如何使用C#实现这一功能,主要涉及.NET Framework中的Microsoft.Office.Interop.Excel库,以及...
C# 读取加密的Excel 文件; 有源码,VS2010开发。 采用的是微软的Microsoft.Office.Interop.Excel, V14.0,来读取加密后的Excle文件。 不是采用第三方控件NPOI读取加密的Excel文件。 开始研究NPOI读取加密的Excel文件...
这是一个类库,可以对Excel 2007 进行读写操作. 开发环境 Visual Studio 2019. 需要安装ODTwithODAC1120320_32bit客户端组件. 可以在此...
本示例将深入探讨如何使用C#来简单地读取Excel数据,这对于数据分析、报表生成或数据导入到数据库等场景非常实用。下面,我们将详细讲解这个过程。 首先,为了在C#中操作Excel文件,你需要引入一个库来处理Excel...
在读取Excel数据后,可能需要进行数据类型转换,比如将字符串转换为整数或日期,以匹配数据库中的数据类型。同时,也要进行数据验证,确保数据的有效性和完整性。 5. **Mysql数据库连接**: 使用`MySql.Data....
### C#读取Excel中的数据 #### 一、引言 Excel作为Microsoft Office套件中的重要组成部分,因其强大的数据处理能力和友好的用户界面而被广泛应用于各种数据管理和分析场景。然而,随着应用程序对数据处理需求的...
2. **安全性考虑**:直接读取Excel文件可能存在安全风险,建议在生产环境中进行适当的验证和错误处理。 3. **性能优化**:对于非常大的Excel文件,直接加载所有数据可能会导致内存占用过高。可以考虑分批次读取数据...
c#利用EPPlus读取excel实例。 简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件 功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本都可以实现)的列印
在探讨"C#采用ADO.NET读取Excel 0307 数据不完整的问题"时,我们首先需要理解几个关键概念:ADO.NET、OLEDB、Excel文件的版本差异以及数据类型的自动识别机制。 ### ADO.NET与OLEDB ADO.NET是Microsoft提供的一套...
在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows桌面应用和.NET框架相关项目时。...总的来说,C#提供了强大的工具和技术,使得开发者能够轻松地处理Excel数据,无论是在简单的查看还是复杂的业务逻辑中。
5. 读取Excel数据:使用Microsoft.Office.Interop.Excel,你可以创建Excel Application对象,打开文件,然后访问工作簿和工作表。通过循环遍历工作表的行和列,可以获取并存储数据。使用Open XML SDK时,需要解析XML...