切入正題!!
public void print(DataGridView dataGridView1) { int columnCount = dataGridView1.Columns.Count; //創建Excel對象 Microsoft.Office.Interop.Excel._Application excelApp = new ApplicationClass(); //新建工作簿 Microsoft.Office.Interop.Excel._Workbook workBook = excelApp.Workbooks.Add(true); //新建工作表 Microsoft.Office.Interop.Excel._Worksheet worksheet = workBook.ActiveSheet as Microsoft.Office.Interop.Excel._Worksheet; //設置標題 Microsoft.Office.Interop.Excel.Range titleRange = worksheet.get_Range( worksheet.Cells[1, 1], worksheet.Cells[1, columnCount]); //選取單元格 titleRange.Merge(true);//合併單元格 titleRange.Value2 =comboBox1.Text;//設置單元格內容 //titleRange.Font.Name = "黑體";//設置字體 //titleRange.Font.Color = Color.Red;//設置字體顏色 titleRange.Font.Size = 20;//設置字體大小 titleRange.Font.Bold = true;//字體加粗 titleRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;//水平居中 titleRange.VerticalAlignment = XlVAlign.xlVAlignCenter;//垂直居中 //titleRange.Borders.LineStyle = XlLineStyle.xlContinuous;//設置邊框 //titleRange.Borders.Weight = XlBorderWeight.xlThin;//設置邊框粗? //設置表頭 for (int i = 0; i < columnCount; i++) { Range headRange = worksheet.Cells[2, i + 1] as Range;//?取表頭單元格 headRange.Value2 = dataGridView1.Columns[i].HeaderText;//設置單元格文本 //headRange.Font.Name = "宋體";//設置字體 headRange.Font.Size = 14;//字體大小 headRange.Font.Bold = true;//加粗顯示 headRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;//水平居中 headRange.VerticalAlignment = XlVAlign.xlVAlignCenter;//垂直居中 //headRange.ColumnWidth = dataGridView1.Columns[i].Width / 7;//設置列寬 //headRange.EntireColumn.AutoFit();//自動調整列寬 headRange.Borders.LineStyle = XlLineStyle.xlContinuous;//設置邊框 headRange.Borders.Weight = XlBorderWeight.xlThin;//設置邊框粗? } //填充數據 for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count; j++) { Range contentRange = worksheet.Cells[i + 3, j + 1] as Range;//獲取單元格 contentRange.EntireColumn.AutoFit();//自動調整列寬 contentRange.RowHeight = 20;//設置行高 contentRange.Value2 = dataGridView1[j, i].Value;//設置單元格文本 contentRange.Borders.LineStyle = XlLineStyle.xlContinuous;//設置邊框 contentRange.Borders.Weight = XlBorderWeight.xlThin;//設置邊框粗? contentRange.WrapText = true;//自動?行 } } //設置每列格式 for (int i = 0; i < dataGridView1.Columns.Count - 2; i++) { Range range = worksheet.get_Range(worksheet.Cells[3, i + 1], worksheet.Cells[dataGridView1.RowCount + 3, i + 1]); range.HorizontalAlignment = XlHAlign.xlHAlignCenter;//對齊方式 range.NumberFormatLocal = "0";//格式化文本,單元格格式設置 //range.FormulaR1C1 = strDTime; } //保存退出的Excel string fileName = @pp; //string fileName = System.Windows.Forms.Application.StartupPath + @"\OutExcel" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; workBook.SaveCopyAs(fileName); workBook.Saved = true; //設置Excel是否可? excelApp.Visible = true; //顯示列印預覽 //worksheet.PrintPreview(true); }
沒有留言:
張貼留言