• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C#操作EXCEL DataTable转换的实例代码

c# 搞代码 4年前 (2022-01-09) 18次浏览 已收录 0个评论
//加载Excel          public   DataSet LoadDataFromExcel(string filePath)         {             try            {                 string strConn;                 //strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";                 strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", filePath);                 OleDbConnection OleConn = new OleDbConnection(strConn);                 OleConn.Open();                 String sql = "SELECT * FROM  [Sheet1$]";//可是更改Sheet名称,比如sheet2,等等                  OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);                 DataSet OleDsExcle = new DataSet();                 OleDaExcel.Fill(OleDsExcle, "Sheet1");                 OleConn.Close();                 return OleDsExcle;             }             catch (Exception err)   <em style="color:transparent">本文来源[email protected]搞@^&代*@码)网9</em>          {                 return null;             }         }         /// <summary>         /// DataTable直接导出Excel,此方法会把DataTable的数据用Excel打开,再自己手动去保存到确切的位置         /// </summary>         /// <param name="dt">要导出Excel的DataTable</param>         /// <returns></returns>         public bool DoExport(System.Data.DataTable dt)         {             Microsoft.Office.Interop.Excel.Application app = new ApplicationClass();             if (app == null)             {                 throw new Exception("Excel无法启动");             }             app.Visible = true;             Workbooks wbs = app.Workbooks;             Workbook wb = wbs.Add(Missing.Value);             Worksheet ws = (Worksheet)wb.Worksheets[1];             int cnt = dt.Rows.Count;             int columncnt = dt.Columns.Count;             // *****************获取数据********************             object[,] objData = new Object[cnt + 1, columncnt];  // 创建缓存数据             // 获取列标题             for (int i = 0; i < columncnt; i++)             {                 objData[0, i] = dt.Columns[i].ColumnName;             }             // 获取具体数据             for (int i = 0; i < cnt; i++)             {                 System.Data.DataRow dr = dt.Rows[i];                 for (int j = 0; j < columncnt; j++)                 {                     objData[i + 1, j] = dr[j];                 }             }             //********************* 写入Excel******************             Range r = ws.get_Range(app.Cells[1, 1], app.Cells[cnt + 1, columncnt]);             r.NumberFormat = "@";             //r = r.get_Resize(cnt+1, columncnt);             r.Value2 = objData;             r.EntireColumn.AutoFit();             app = null;             return true;         }

更多C#操作EXCEL DataTable转换的实例代码相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C#操作EXCEL DataTable转换的实例代码
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址