zoukankan      html  css  js  c++  java
  • C#导入Excel到Dataset和导出Excel到DataTable

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Data.OleDb;
    using System.Windows.Forms;
    using Microsoft.Office.Interop.Excel;

    namespace WinExcelOperate
    {
        class ExcelOperate
        {
            //加载Excel   
            public static 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'";
                    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)
                {
                    MessageBox.Show("数据绑定Excel失败!失败原因:" + err.Message, "提示信息",
                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return null;
                }
            }


            public static void DataTabletoExcel(System.Data.DataTable tmpDataTable, string strFileName)
            {
                if (tmpDataTable == null)
                    return;
                int rowNum = tmpDataTable.Rows.Count;
                int columnNum = tmpDataTable.Columns.Count;
                int rowIndex = 1;
                int columnIndex = 0;

                Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
                xlApp.DefaultFilePath = "";
                xlApp.DisplayAlerts = true;
                xlApp.SheetsInNewWorkbook = 1;
                Workbook xlBook = xlApp.Workbooks.Add(true);

                //将DataTable的列名导入Excel表第一行
                foreach (DataColumn dc in tmpDataTable.Columns)
                {
                    columnIndex++;
                    xlApp.Cells[rowIndex, columnIndex] = dc.ColumnName;
                }

                //将DataTable中的数据导入Excel中
                for (int i = 0; i < rowNum; i++)
                {
                    rowIndex++;
                    columnIndex = 0;
                    for (int j = 0; j < columnNum; j++)
                    {
                        columnIndex++;
                        xlApp.Cells[rowIndex, columnIndex] = tmpDataTable.Rows[i][j].ToString();
                    }
                }
                //xlBook.SaveCopyAs(HttpUtility.UrlDecode(strFileName, System.Text.Encoding.UTF8));
                xlBook.SaveCopyAs(strFileName);
            }
        }
    }

  • 相关阅读:
    淘宝Banner 轮播图
    JavaScript move简易版运动框架封装
    javaScript 导航栏
    JS 运动框架完整版
    Js 数组操作
    JS 动画轮播效果
    JavaScritpt 字符串操作
    Java AOP切面编程方式
    时间版 运动框架
    Nmon的安装及使用
  • 原文地址:https://www.cnblogs.com/yuxuetaoxp/p/2626323.html
Copyright © 2011-2022 走看看