zoukankan      html  css  js  c++  java
  • 如何导入Excel模板

    protected void DownLoadT_Click(object sender, EventArgs e)
    {

      DownloadFileUTF8("评片记录导入模板表.xlsx", "../dot/评片记录导入模板表.xlsx", false);
    }

    第一个参数是文件的名字,第二个参数是文件的路径,是否需要删除

    就是需要先下载模板,然后根据下载的模板填写数据,最后上传Excel,将Excel中的数据导入到数据库中

    当我点击浏览,上传填写完数据的Excel文档,此时导入数据的按钮也可以进行提交,如果需要哪些数据,就选择复选框进行勾选即可

     

     当选择一个文件的时候

    public static DataTable ImportExcelFile(string filePath)
    {
      IWorkbook hssfworkbook;
          try{
          using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read)){
         hssfworkbook = new HSSFWorkbook(file);
         file.Close();}
          }
       catch (Exception e){
       using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
       {
        hssfworkbook = new XSSFWorkbook(file);
        file.Close();
      }
     }

    ISheet sheet = hssfworkbook.GetSheetAt(0);

    System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
    DataTable dt = new DataTable();
    int colnum = sheet.GetRow(0).LastCellNum;
    for (int j = 0; j < colnum; j++)
    {
      dt.Columns.Add("A" + (j + 1).ToString());
    }
    rows.MoveNext();
    while (rows.MoveNext())
    {
      IRow row = (IRow)rows.Current;
      DataRow dr = dt.NewRow();
        for (int i = 0; i < row.LastCellNum && i < colnum; i++) {
        NPOI.SS.UserModel.ICell cell = row.GetCell(i);
       if (cell == null)
    {
    dr[i] = null;
    }
    else
    {
    {
    dr[i] = cell.ToString();
    }
    }
    }
    dt.Rows.Add(dr);
    }

    hssfworkbook.Close();

    return dt;
    }

    当点击导入按钮的时候 

    protected void importExcel_Click(object sender, EventArgs e)
    {
    int num = 0;
    foreach (int rowno in Grid1.SelectedRowIndexArray)
    {
    GridRow row = Grid1.Rows[rowno + Grid1.PageIndex * Grid1.PageSize];
    string C1 = row.Values[1].ToString().Trim();
    string C2 = row.Values[2].ToString().Trim();
    string C3 = row.Values[3].ToString().Trim();
    string C4 = row.Values[4].ToString().Trim();
    string C5 = row.Values[5].ToString().Trim();
    string C6 = row.Values[6].ToString().Trim();
    string C7 = row.Values[7].ToString().Trim();
    XElement el = new XElement("root"
    , new XElement("Type", "Insert")
    , new XElement("MainAID", YID.Text)
    , new XElement("FormID", FormID.Text)
    , new XElement("Text1", C1)
    , new XElement("Text2", C2)
    , new XElement("Text3", C3)
    , new XElement("Text4", C4)
    , new XElement("Text5", C5)
    , new XElement("Text6", C6)
    , new XElement("Text7", C7)
    , new XElement("Creator",getUserName()));
    bool retVal = Govaze.SQLServerDAL.Factory.getDataXmlDAL().ExecProc(el.ToString(), "DataXmlRec");
    if (retVal)
    {
    num++;
    }
    else
    {
    Alert.Show(string.Format("本次共导入{0}个数据!", num));
    return;
    }
    }
    PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());

    }

  • 相关阅读:
    C# 创建与读写配置文件
    C# 绘图三种方式
    WindowsForms获取服务名称
    Hbase之JAVA API不能远程访问问题解决
    Jenkins之自动构建
    Jenkins配置匿名用户拥有只读权限
    XShell中文乱码问题解决
    mybatis之关联(2)
    mybatis之动态SQL
    mybatis之一对一关联
  • 原文地址:https://www.cnblogs.com/sanshengshitouhua/p/14473259.html
Copyright © 2011-2022 走看看