.net 用npoi 怎么实现excel内数据导入到gridview?

选择excel文件---》点击button按钮导入---》excel数据显示在datagrid内... 选择excel文件 ---》点击button按钮导入---》excel数据显示在datagrid内 展开
 我来答
匿名用户
推荐于2016-10-03
展开全部
DataTable table = new DataTable();
                using (FileStream fs = File.OpenRead(path))   //打开myxls.xls文件
                {
                    HSSFWorkbook wk = new HSSFWorkbook(fs);   //把xls文件中的数据写入wk中

                    ISheet sheet = wk.GetSheetAt(0);   //读取当前表数据

                    for (int j = 1; j <= sheet.LastRowNum; j++)  //LastRowNum 是当前表的总行数
                    {
                        IRow row = sheet.GetRow(j); //读取当前行数据
                        DataRow dataRow = table.NewRow();
                        if (row != null)
                        {
                            for (int k = 0; k <= row.LastCellNum; k++)  //LastCellNum 是当前行的总列数
                            {
                                ICell cell = row.GetCell(k);  //当前表格
                                if (cell != null)
                                {
                                    if (k == (row.LastCellNum-1))
                                    {
                                        dataRow[k] = row.GetCell(k).DateCellValue.ToString();
                                    }
                                    else
                                    {
                                        dataRow[k] = row.GetCell(k).ToString();
                                    }
                                }
                            }

                            table.Rows.Add(dataRow);
                        }
                    }
                }
                return table;
   
   //以上是核心代码,完成了返回DataTable
更多追问追答
追问
能不能把按钮那下面的代码也写出来?我初学想搞明白些   非常感谢
追答
protected void btnRead_Click(object sender, EventArgs e)
        {
            try
            {
                string s = "";
                HttpPostedFile file = this.fileSelect.PostedFile;
                string fileName = file.FileName;
                string tempPath = System.IO.Path.GetTempPath();   //获取系统临时文件路径
                fileName = System.IO.Path.GetFileName(fileName); //获取文件名(不带路径)
                this.currFileExtension = System.IO.Path.GetExtension(fileName);   //获取文件的扩展名
                this.currFilePath = tempPath + fileName; //获取上传后的文件路径 记录到前面声明的全局变量
                file.SaveAs(this.currFilePath);  //上传
                label1.InnerHtml = "开始上传,请勿关闭页面";
                DataTable dt = Upload(this.currFilePath);  //上传文件方法
                ......
            }catch{}
            }
//倒数第三句DataTable dt = Upload(this.currFilePath); 就是接上边的那段核心代码,直//观一点
//表示就是如下:
private DataTable Upload(string path)
{
    上边的核心代码
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式