① 怎样把DataGrid的数据导出到Excel以供打印?
② 之前已经为DataGrid设置了TableStyle,即自定义了列标题和要显示的列,如果想以自定义的视图导出数据该怎么办?
③ 把数据导出到Excel后,怎样为它设置边框啊?
④ 怎样使从DataGrid导出到Excel的某个列居中对齐?
⑤ 数据从DataGrid导出到Excel后,怎样使标题行在打印时出现在每一页?
⑥ DataGrid数据导出到Excel后打印时每一页显示’当前页/共几页’,怎样实现?
①
private void button1_Click(object sender, System.EventArgs e)
![](/Images/OutliningIndicators/None.gif)
{
![](/Images/OutliningIndicators/InBlock.gif)
int row_index, col_index;
row_index = 1;
col_index = 1;
![](/Images/OutliningIndicators/InBlock.gif)
Excel.ApplicationClass excel = new Excel.ApplicationClass();
![](/Images/OutliningIndicators/InBlock.gif)
excel.Workbooks.Add(true);
![](/Images/OutliningIndicators/InBlock.gif)
DataTable dt = ds.Tables["table"];
![](/Images/OutliningIndicators/InBlock.gif)
foreach(DataColumn dcHeader in dt.Columns)
![](/Images/OutliningIndicators/InBlock.gif)
excel.Cells[row_index, col_index++] = dcHeader.ColumnName;
![](/Images/OutliningIndicators/InBlock.gif)
foreach(DataRow dr in dt.Rows)
![](/Images/OutliningIndicators/InBlock.gif)
{
![](/Images/OutliningIndicators/InBlock.gif)
col_index = 0;
![](/Images/OutliningIndicators/InBlock.gif)
foreach(DataColumn dc in dt.Columns)
![](/Images/OutliningIndicators/InBlock.gif)
{
![](/Images/OutliningIndicators/InBlock.gif)
excel.Cells[row_index+1, col_index+1] = dr[dc];
![](/Images/OutliningIndicators/InBlock.gif)
col_index++;
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/InBlock.gif)
row_index++;
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/InBlock.gif)
excel.Visible = true;
}
![](/Images/OutliningIndicators/None.gif)
private void Form1_Load(object sender, System.EventArgs e)
![](/Images/OutliningIndicators/None.gif)
{
![](/Images/OutliningIndicators/InBlock.gif)
SqlConnection conn = new SqlConnection("server=tao; uid=sa; pwd=; database=pubs");
![](/Images/OutliningIndicators/InBlock.gif)
conn.Open();
![](/Images/OutliningIndicators/InBlock.gif)
SqlDataAdapter da = new SqlDataAdapter("select * from authors", conn);
![](/Images/OutliningIndicators/InBlock.gif)
ds = new DataSet();
![](/Images/OutliningIndicators/InBlock.gif)
da.Fill(ds, "table");
![](/Images/OutliningIndicators/InBlock.gif)
dataGrid1.DataSource = ds;
![](/Images/OutliningIndicators/InBlock.gif)
dataGrid1.DataMember = "table";
![](/Images/OutliningIndicators/InBlock.gif)
}
②dataGrid1.TableStyles[0].GridColumnStyles[index].HeaderText; //index可以从0~dataGrid1.TableStyles[0].GridColumnStyles.Count遍历。
③
Excel.Range range;
![](/Images/OutliningIndicators/None.gif)
range=worksheet.get_Range(worksheet.Cells[1,1],xSt.Cells[ds.Tables[0].Rows.Count+1,ds.Tables[0].Columns.Count]);
![](/Images/OutliningIndicators/None.gif)
range.BorderAround(Excel.XlLineStyle.xlContinuous,Excel.XlBorderWeight.xlThin,Excel.XlColorIndex.xlColorIndexAutomatic,null);
range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].ColorIndex = Excel.XlColorIndex.xlColorIndexAutomatic;
![](/Images/OutliningIndicators/None.gif)
range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].LineStyle =Excel.XlLineStyle.xlContinuous;
![](/Images/OutliningIndicators/None.gif)
range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].Weight =Excel.XlBorderWeight.xlThin;
![](/Images/OutliningIndicators/None.gif)
range.Borders[Excel.XlBordersIndex.xlInsideVertical].ColorIndex =Excel.XlColorIndex.xlColorIndexAutomatic;
![](/Images/OutliningIndicators/None.gif)
range.Borders[Excel.XlBordersIndex.xlInsideVertical].LineStyle = Excel.XlLineStyle.xlContinuous;
![](/Images/OutliningIndicators/None.gif)
range.Borders[Excel.XlBordersIndex.xlInsideVertical].Weight = Excel.XlBorderWeight.xlThin;
④ range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
⑤ worksheet.PageSetup.PrintTitleRows = "$1:$1";
⑥ worksheet.PageSetup.CenterFooter = "第&P页 / 共&N页";
② 之前已经为DataGrid设置了TableStyle,即自定义了列标题和要显示的列,如果想以自定义的视图导出数据该怎么办?
③ 把数据导出到Excel后,怎样为它设置边框啊?
④ 怎样使从DataGrid导出到Excel的某个列居中对齐?
⑤ 数据从DataGrid导出到Excel后,怎样使标题行在打印时出现在每一页?
⑥ DataGrid数据导出到Excel后打印时每一页显示’当前页/共几页’,怎样实现?
①
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
③
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
⑤ worksheet.PageSetup.PrintTitleRows = "$1:$1";
⑥ worksheet.PageSetup.CenterFooter = "第&P页 / 共&N页";