windowsform 中 excel 数据的存放

 /// <summary>
      // 定义获取设置excel对象和excel的工作簿
        /// </summary> 
        /// <param name="ds"></param>
        private void ConvertDataFromDataSetToExcel(DataSet ds)
        {
            //Excel应用程序对象
            Microsoft.Office.Interop.Excel.Application EX = new Microsoft.Office.Interop.Excel.ApplicationClass();
            //excel工作簿
            _Workbook WORK = EX.Workbooks.Add(true);
            Index = 1;
            System.Data.DataTable table = this.ds.Tables[this.comboBox1.SelectedItem.ToString()];
            ConvertDataTableToWorkBook(table, WORK);
            WORK.SaveCopyAs(this.textBoxland.Text.Trim());
        }                    
        int Index = 1;
        private void ConvertDataTableToWorkBook(System.Data.DataTable datatable, _Workbook workBook)
        {
            //工作表
            _Worksheet workSheet;
            if (Index < workBook.Worksheets.Count)
            {
                workSheet = (_Worksheet)workBook.Worksheets.get_Item(Index);
            }
            else
            {
                workSheet = (_Worksheet)workBook.Worksheets.Add(Type.Missing, workBook.Worksheets[Index], Type.Missing, Type.Missing);
            }
            workSheet.Name = datatable.TableName;
            int cIndexs = 1;
      
            foreach (DataColumn Item in datatable.Columns)
            {
                workSheet.Cells[1, cIndexs++] = Item.ColumnName;
            }
            workSheet.get_Range(workSheet.Cells[1, 1], workSheet.Cells[1, cIndexs]).HorizontalAlignment = XlVAlign.xlVAlignCenter;
            int rowIndex = 2;
            foreach (DataRow rowItem in datatable.Rows)
            {
                cIndexs = 1;
                foreach (DataColumn Item in datatable.Columns)
                {
                    workSheet.Cells[rowIndex, cIndexs++] = rowItem[Item.ColumnName];
                }
                rowIndex++;
            }

posted @ 2011-07-22 18:35  Zhangyujie  阅读(308)  评论(0)    收藏  举报