c語言如何讀取excel中的數據?C/S程序開發時經常需要進行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);
}
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!