c#导入Excel做一个列名的映射

在导入Excel的时候由于列名不同,需要做一个映射,有提示说在App.config里做配置,
但是不会啊,有没有大神求教

在app.config里面存入sql
类似
select excel里面的列1 as 你要的列名1, excel里面的列2 as 你要的列名2 ... from sheet1
用oledb读取执行,查询数据

C#读取app.config参考:http://blog.csdn.net/kone0611/article/details/51011185

个人推荐:用npoi来弄,你可以上百度查怎么使用,这个很好用,不像其他的那样需要本机装有office来能使用,实在不行可以找我,我前段时间在网上找了,敲了个Demo

如果楼主是想把Excel的数据提取出来的话推荐还是用NPOI,最近我也在用这个,功能特别强大
if (string.IsNullOrEmpty(fudExcel.FileName))
{
ZWL.Common.MessageBox.Show(this, "请选择上传文件!");
return;
}
string extension = fudExcel.FileName.Substring(fudExcel.FileName.LastIndexOf('.'));

        if ((extension == ".xls") || (extension == ".xlsx"))
        {

        }
        else
        {
            ZWL.Common.MessageBox.Show(this, "上传文件扩展必须是(xls/xlsx)文件!");
            return;
        }

        string filepath = string.Empty;
        // 上传到服务器临时目录下
        string tempdir = Server.MapPath("/TempExcelUp/");
        string filename = Guid.NewGuid() + extension;
        filepath = tempdir + filename;
        // 保存
        fudExcel.SaveAs(filepath);

        //调试使用
        //string filename = "temp.xlsx";
        //filepath="G:/maje/HaiXinKongTiaoWenJuan/KongTiaoPingTai/Web/TempExcelUp/temp.xlsx";

        FileStream fs = null;
        IWorkbook workbook = null;
        ISheet sheet = null;

        using (fs = File.OpenRead(filepath))
        {
            // 2007版本  
            if (extension == ".xlsx")
                workbook = new XSSFWorkbook(fs);
            // 2003版本  
            else if (extension != ".xls")
                workbook = new HSSFWorkbook(fs);

            if (workbook != null)
            {

                //需要手工修改选择哪一个sheet页面
                //质量保证审核
                if (txtDanJuLeiXingBianHao.Text.Trim() == "4")
                {
                    sheet = workbook.GetSheetAt(5);//读取第一个sheet,当然也可以循环读取每个sheet  
                }
                //产品专业评审类目管理
                if (txtDanJuLeiXingBianHao.Text.Trim() == "5")
                {
                    sheet = workbook.GetSheetAt(6);//读取第一个sheet,当然也可以循环读取每个sheet  
                }

                //产品专业评审类目管理
                if (txtDanJuLeiXingBianHao.Text.Trim() == "8")
                {
                    sheet = workbook.GetSheetAt(0);//读取第一个sheet,当然也可以循环读取每个sheet  
                }
                                     for (int m = 2; m < rowCount; m++)//从第三行开始
                        {
                            excelRow = sheet.GetRow(m);//读取当前行
                            strTemp= excelRow.GetCell(0).ToString();

                            //如果文本框内容为“NO.”表示是每一大类的开始,第3列即为大类
                            if (strTemp == "NO.")
                            {
                                strDaLei= excelRow.GetCell(2).ToString().Split('、');
                                strDaLei[0] = strDaLei[0].Trim();
                                strDaLei[1] = strDaLei[1].Trim();
                                //TextBox1.Text += strDaLei[0] + strDaLei[1]+"==";
                            }
                                                 }
                        }

这个是我最近用NPOI写的一个导入的实例
楼主可以借鉴借鉴

对了,我是用winform做的,我想到一个办法,就是在点击导入按钮后,弹出一个框框,就像数据库导入Excel选择映射关系一样,
将导入的所有列名显示在一个listview上,然后单击目标列图片说明
显示自定义的列名在里面,选择对应的列映射,图片说明
这样就对应起来了