亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#導入導出EXCEL文件的代碼實例

2020-01-24 02:41:55
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

using System;
using System.Data;
using System.Data.OleDb;

namespace ZFSoft.Joint
{
    public class ExcelIO
    {
        private int _ReturnStatus;
        private string _ReturnMessage;

        /// <summary>
        /// 執行返回狀態
        /// </summary>
        public int ReturnStatus
        {
            get
            {
                return _ReturnStatus;
            }
        }

        /// <summary>
        /// 執行返回信息
        /// </summary>
        public string ReturnMessage
        {
            get
            {
                return _ReturnMessage;
            }
        }

        public ExcelIO()
        {
        }

         
        /// <summary>
        /// 導入EXCEL到DataSet
        /// </summary>
        /// <param name="fileName">Excel全路徑文件名</param>
        /// <returns>導入成功的DataSet</returns>
        public DataTable ImportExcel(string fileName)
        {
            //判斷是否安裝EXCEL
            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            if (xlApp == null)
            {
                _ReturnStatus = -1;
                _ReturnMessage = "無法創建Excel對象,可能您的計算機未安裝Excel";
                return null;
            }

            //判斷文件是否被其他進程使用           
            Microsoft.Office.Interop.Excel.Workbook workbook;
            try
            {
                workbook = xlApp.Workbooks.Open(fileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, 1, 0);
            }
            catch
            {
                _ReturnStatus = -1;
                _ReturnMessage = "Excel文件處于打開狀態,請保存關閉";
                return null;
            }

            //獲得所有Sheet名稱
            int n = workbook.Worksheets.Count;
            string[] SheetSet = new string[n];
            System.Collections.ArrayList al = new System.Collections.ArrayList();
            for (int i = 1; i <= n; i++)
            {
                SheetSet[i - 1] = ((Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[i]).Name;
            }

            //釋放Excel相關對象
            workbook.Close(null, null, null);
            xlApp.Quit();
            if (workbook != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
                workbook = null;
            }
            if (xlApp != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
                xlApp = null;
            }
            GC.Collect();

            //把EXCEL導入到DataSet
            DataSet ds = new DataSet();
            DataTable table = new DataTable();
            string connStr = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + fileName + ";Extended Properties=Excel 8.0";
            using (OleDbConnection conn = new OleDbConnection(connStr))
            {
                conn.Open();
                OleDbDataAdapter da;
                string sql = "select * from [" + SheetSet[0] + "$] ";
                da = new OleDbDataAdapter(sql, conn);
                da.Fill(ds, SheetSet[0]);
                da.Dispose();
                table = ds.Tables[0];
                conn.Close();
                conn.Dispose();
            }
            return table;
        }

        /// <summary>
        /// 把DataTable導出到EXCEL
        /// </summary>
        /// <param name="reportName">報表名稱</param>
        /// <param name="dt">數據源表</param>
        /// <param name="saveFileName">Excel全路徑文件名</param>
        /// <returns>導出是否成功</returns>
        public bool ExportExcel(string reportName, System.Data.DataTable dt, string saveFileName)
        {
            if (dt == null)
            {
                _ReturnStatus = -1;
                _ReturnMessage = "數據集為空!";
                return false;
            }

            bool fileSaved = false;
            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            if (xlApp == null)
            {
                _ReturnStatus = -1;
                _ReturnMessage = "無法創建Excel對象,可能您的計算機未安裝Excel";
                return false;
            }

            Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
            Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
            Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
            worksheet.Cells.Font.Size = 10;
            Microsoft.Office.Interop.Excel.Range range;

            long totalCount = dt.Rows.Count;
            long rowRead = 0;
            float percent = 0;

            worksheet.Cells[1, 1] = reportName;
            ((Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, 1]).Font.Size = 12;
            ((Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, 1]).Font.Bold = true;

            //寫入字段
            for (int i = 0; i < dt.Columns.Count; i++)
            {
                worksheet.Cells[2, i + 1] = dt.Columns[i].ColumnName;
                range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[2, i + 1];
                range.Interior.ColorIndex = 15;
                range.Font.Bold = true;

            }
            //寫入數值
            for (int r = 0; r < dt.Rows.Count; r++)
            {
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    worksheet.Cells[r + 3, i + 1] = dt.Rows[r][i].ToString();
                }
                rowRead++;
                percent = ((float)(100 * rowRead)) / totalCount;
            }

            range = worksheet.get_Range(worksheet.Cells[2, 1], worksheet.Cells[dt.Rows.Count + 2, dt.Columns.Count]);
            range.BorderAround(Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous, Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, null);
            if (dt.Rows.Count > 0)
            {
                range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideHorizontal].ColorIndex = Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic;
                range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideHorizontal].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
                range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideHorizontal].Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin;
            }
            if (dt.Columns.Count > 1)
            {
                range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideVertical].ColorIndex = Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic;
                range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideVertical].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
                range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideVertical].Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin;
            }

            //保存文件
            if (saveFileName != "")
            {
                try
                {
                    workbook.Saved = true;
                    workbook.SaveCopyAs(saveFileName);
                    fileSaved = true;
                }
                catch (Exception ex)
                {
                    fileSaved = false;
                    _ReturnStatus = -1;
                    _ReturnMessage = "導出文件時出錯,文件可能正被打開!/n" + ex.Message;
                }
            }
            else
            {
                fileSaved = false;
            }

            //釋放Excel對應的對象
            if (range != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
                range = null;
            }
            if (worksheet != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
                worksheet = null;
            }
            if (workbook != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
                workbook = null;
            }
            if (workbooks != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooks);
                workbooks = null;
            }
            xlApp.Application.Workbooks.Close();
            xlApp.Quit();
            if (xlApp != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
                xlApp = null;
            }
            GC.Collect();
            return fileSaved;
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲伊人一本大道中文字幕| 日韩精品免费电影| 超碰精品一区二区三区乱码| 欧美中文字幕视频| 国产精品福利小视频| 久久久亚洲精选| 国产精品入口福利| 久久亚洲精品成人| 成人a级免费视频| 成人黄色免费在线观看| 国产精品美女免费视频| 久久免费视频在线观看| 亚洲一区二区三区在线视频| 日韩精品视频在线观看网址| 午夜精品视频网站| 亚洲成人精品久久久| 日韩在线观看电影| 亚洲伊人久久综合| 萌白酱国产一区二区| 日本精品久久久久久久| 久久久中文字幕| 久久精品免费电影| www.日韩视频| 欧美一级成年大片在线观看| 欧美成人中文字幕| 欧美精品电影免费在线观看| 亚洲国产精品一区二区三区| 色青青草原桃花久久综合| 日韩精品在线免费播放| 欧美成人免费在线视频| 亚洲一区二区三区久久| 日韩免费黄色av| 在线看福利67194| 97精品视频在线播放| 亚洲va久久久噜噜噜| 26uuu亚洲伊人春色| 最近2019年中文视频免费在线观看| www国产精品视频| 国产一区二区三区在线看| 91亚洲精品一区| 国产精品一区二区电影| 久久这里只有精品99| 成人免费网站在线观看| 中文字幕av一区二区| 欧美大片大片在线播放| 91精品成人久久| 97久久精品人人澡人人爽缅北| 国产精品久久久久久久久久小说| 69影院欧美专区视频| 成人黄色中文字幕| 久久免费国产视频| 欧美高清videos高潮hd| 久久久亚洲网站| 国精产品一区一区三区有限在线| 日韩在线观看免费| 国产成人欧美在线观看| 国产欧洲精品视频| 美女久久久久久久久久久| 国产精品美女www爽爽爽视频| 久久综合久久88| 国产精品嫩草影院久久久| 国产一区二区久久精品| 亚洲a在线观看| 日韩综合视频在线观看| 国产精品爽爽爽爽爽爽在线观看| 国产精品久久久久久久久免费| 两个人的视频www国产精品| 91麻豆国产语对白在线观看| 欧美性猛交xxxx富婆| 91成人性视频| 欧洲s码亚洲m码精品一区| 92看片淫黄大片欧美看国产片| 日韩视频在线观看免费| 亚洲在线免费观看| 精品久久久国产精品999| 亚洲最新在线视频| 日韩欧美成人网| 国产精国产精品| 26uuu亚洲国产精品| 日韩av网站在线| 久久久www成人免费精品张筱雨| 欧美视频在线视频| 久久精品99久久久香蕉| 亚洲欧美日韩一区二区在线| 91视频免费网站| 国产精品美女在线观看| 欧美电影在线观看高清| 精品美女国产在线| 日韩视频免费在线观看| 国产精品网红直播| 亚洲va男人天堂| 国产成人拍精品视频午夜网站| 日韩经典中文字幕在线观看| 欧美理论在线观看| 日本成人黄色片| 国产欧美精品va在线观看| 精品无码久久久久久国产| 国产精品视频久久久久| 91久久久在线| 日本免费在线精品| 亚洲最新av在线| 日本欧美中文字幕| 国产精选久久久久久| 亚洲黄色成人网| 亚洲自拍偷拍第一页| 欧美黄色小视频| 国产精品欧美一区二区| 影音先锋欧美在线资源| 激情亚洲一区二区三区四区| 人九九综合九九宗合| 全色精品综合影院| 不卡在线观看电视剧完整版| 国产精品美女久久| 国产精品电影久久久久电影网| 亚洲视频第一页| 性欧美视频videos6一9| 久久精品国产精品| 亚洲97在线观看| 亚洲成人aaa| 国模极品一区二区三区| 欧美日韩性视频在线| 日本一区二区在线播放| 亚洲国产成人久久综合一区| 青草成人免费视频| 成人精品一区二区三区电影免费| 成人www视频在线观看| 日产精品99久久久久久| 欧美成人合集magnet| 国产精品99久久久久久www| 久久久人成影片一区二区三区| 97av视频在线| 国产中文字幕91| 国产91在线高潮白浆在线观看| 亚洲专区在线视频| 久久久噜久噜久久综合| 91久久在线播放| 136fldh精品导航福利| 国产精品一香蕉国产线看观看| 日韩精品高清在线观看| 成人精品网站在线观看| 精品偷拍各种wc美女嘘嘘| 中国china体内裑精亚洲片| 成人网欧美在线视频| 亚洲天堂成人在线视频| 日韩av在线精品| 欧美成人激情视频免费观看| 国产精品视频最多的网站| 欧美日韩精品中文字幕| 成人午夜激情网| 日韩精品免费看| 亚洲一区二区久久久久久久| 美女999久久久精品视频| 日韩中文字幕在线看| 欧美天天综合色影久久精品| 日本最新高清不卡中文字幕| 国产精品日韩av| 国产午夜一区二区| 亚洲一区二区中文| 97在线视频一区| 亚洲性视频网址| 久热爱精品视频线路一| 久久精品视频在线| 久久好看免费视频| 日韩欧美黄色动漫|