c语言如何读取excel中的数据(C导入EXCEL数据)
C/S程序开发时经常需要进行EXCEL的数据导入,下面介绍一种简单的导入方式:,下面我们就来说一说关于c语言如何读取excel中的数据?我们一起去了解并探讨一下这个问题吧!
c语言如何读取excel中的数据
C/S程序开发时经常需要进行EXCEL的数据导入,下面介绍一种简单的导入方式:
一、读取EXCEL到gridControl里面
在导入数据的时候可以先将EXCEL的数据导入到gridControl控件里面,相当于一个预览功能,然后再提交到数据库。
OpenFileDialog ofg = new OpenFileDialog();
if (ofg.ShowDialog() != DialogResult.OK) return;
Microsoft.VisualBasic.FileIO.TextFieldParser TF = new Microsoft.VisualBasic.FileIO.TextFieldParser(ofg.FileName, Encoding.GetEncoding("GB2312"));
TF.Delimiters = new string[] { "," }; //设置分隔符
string[] strLine;
int rowIndex = 0;
while (!TF.EndOfData)
{
rowIndex ;
try
{
strLine = TF.ReadFields();
//开始导入数据
if (rowIndex == 1)
{//标题行
ConvertStringarrToDataTableTitle(strLine);
}
else
{ //数据行
ConvertStringarrToDataTable(strLine);
}
}
catch
{
}
}
TF.Close();
this.gridControl1.DataSource = m_dt.DefaultView.ToTable();
/// <summary>
/// 读取标题
/// </summary>
/// <param name="title"></param>
/// <returns></returns>
public bool ConvertStringarrToDataTableTitle(String[] title)
{
//创建行向表中填充行数据
foreach (string v in title)
{
m_dt.Columns.Add(v, typeof(string));
}
return true;
}
/// <summary>
/// 读取行数据
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public bool ConvertStringarrToDataTable(String[] value)
{
if (m_dt.Columns.Count != value.Length) return false;
//创建行向表中填充行数据
if (m_dt.Columns.Count == value.Length)
{
DataRow row = m_dt.NewRow();
for (int i = 0; i < value.Length; i )
{
row[m_dt.Columns[i].Caption] = value[i];
}
m_dt.Rows.Add(row);
}
return true ;
二、循环提交到数据库
foreach (DataRow row in m_dt.Rows)
{
//执行存储将数据写入数据库
String ret = 存储名称(
row["条码编号"].ToString(),
row["姓名"].ToString(),
row["性别"].ToString(),
row["年龄"].ToString(),
row["现居住地址"].ToString(),
row["电话"].ToString(),
row["证件号"].ToString(),
row["采样时间"].ToString()
);
//显示导入显示信息
DisplayInfo(ret);
/// <summary>
/// 导入提示
/// </summary>
/// <param name="info"></param>
private void DisplayInfo(String info)
{
memoEdit1.Text = String.Format("{0}\r\n{1}", memoEdit1.Text, info);
}
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com