C#Winform怎么将excel一列数据导入程序中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#Winform怎么将excel一列数据导入程序中相关的知识,希望对你有一定的参考价值。

比如将一列手机号码导入到后台用数组存储

我这个是导入到DataGridView希望对你有用。 private void btImport_Click(object sender, EventArgs e)

try

lbmation.Visible = true;
dgvWayBill.Columns["savestatus"].Visible = false;
string strFileNamePath = string.Empty;
OpenFileDialog ofdShowDialog = new OpenFileDialog();
ofdShowDialog.FileName = "";
ofdShowDialog.Title = "请选择要导入的Excel文件,导入EXCEL文件的工作表名必须是Sheet1";
ofdShowDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
ofdShowDialog.Filter = "Excel文件(*.xls)|*.xls";
ofdShowDialog.CheckFileExists = true;
ofdShowDialog.CheckPathExists = true;
if (ofdShowDialog.ShowDialog() == DialogResult.OK)
strFileNamePath = ofdShowDialog.FileName;
if (string.IsNullOrEmpty(strFileNamePath))

MessageBox.Show("请选择要导入的文件", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;

string strFileName = "Sheet1";
OleDbDataAccess odaData = new OleDbDataAccess(strFileNamePath);
DataSet dsImport = new DataSet();
dsImport = odaData.ReadExcelData(strFileName);
if (DataSetUtil.IsNull(dsImport) || DataTableUtil.IsNull(dsImport.Tables[0])) return;
DataBind(dsImport);
MessageBox.Show("导入成功", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
lbmation.Visible = false;

catch (Exception ex)

MessageBox.Show("导入失败,失败原因:" + ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);


//导入数据放到DataDridView中

private void DataBind(DataSet dsImport)

//这里你想将数据放到哪个控件里去就直接将数据源设置为dsImport.table[0]就可以了。
参考技术A /// <summary>
/// 导入Excel到DataSet
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
private DataSet InExecl(string filePath)

DataSet ds = new DataSet();
string connStr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + filePath + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
OleDbConnection myConn = new OleDbConnection(connStr);
string strSQL = " SELECT * FROM [Sheet1$]";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strSQL, myConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "[Sheet1$]");
myConn.Close();
return myDataSet;

/// <summary>
/// 导入
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnIn_Click(object sender, EventArgs e)

DataSet ds = InExecl(this.File1.PostedFile.FileName);
this.GridView2.DataSource = ds;
this.GridView2.DataBind();
参考技术B 1.连接excel
2.解析Excel中的数据(返回的是一个dataset)
3.对数据进行整理,然后赋给数组

C#winform 将excel中的数据导入到datagridview中

关于datagridview数据通过excel导入导出功能,谁那儿有源码,可以通过回答或发送到wxjmaple@去掉163.com,答案好悬赏大大的有

string message = null;
string strConn = Properties.Settings.Default.connString;
if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件

Response.Write("<script>alert('请您选择Excel文件')</script> ");
return;//当无文件时,返回

string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xls")

Response.Write("<script>alert('只可以选择Excel文件')</script>");
return;//当选择的不是Excel文件时,返回


string filename = FileUpload1.FileName; //获取Execle文件名 DateTime日期函数
string dir = Server.MapPath("..\\temp\\" + Session["name"] + "\\");
if (!Directory.Exists(dir))

Directory.CreateDirectory(dir);

string savePath = Server.MapPath(("..\\temp\\" + Session["name"]+"\\") + filename);//Server.MapPath 获得虚拟服务器相对路径
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
DataSet ds = ExecleDs(savePath, filename); //调用自定义方法
DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组
int rowsnum = ds.Tables[0].Rows.Count;
if (rowsnum == 0)

Response.Write("<script>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示

else


dr[i]["XXX"].ToString(); //XXX是EXCEL里面的标题名字,这样取字段然后插入数据库


是winform啊。。应该差不多 修改一下追问

还是有很大差异的。。

参考技术A 网上搜PageOffice,有很多它的示例代码的,它能帮你解决啊。 参考技术B 微软SDK有给现成的demo源码追问

能不能给个实例啊

以上是关于C#Winform怎么将excel一列数据导入程序中的主要内容,如果未能解决你的问题,请参考以下文章

C# 自己写的Winform程序批量导入Excel文件到Oracle数据库的过程中,程序运行会很慢!而且Winform窗体会卡

C#winform怎么弄出类似于excel的表格?简单点的就好

C#winform中如何把表导出到EXCEL

Winform excel导入问题

C#winform 将excel中的数据导入到datagridview中

winform中dataGridView上怎么修改、保存数据啊,急用啊?