RT 由于GridView是模板列 里面放的CheckBox,所以不需要导出,怎样设置导出的时候不导出第一列,麻烦贴下代码.
还有个问题 好像GridView的Enabled=false的时候,好像无法导出.
还有个问题 好像GridView的Enabled=false的时候,好像无法导出.
解决方案 »
- 如何获取动态生成的ComboBox的Item值
- C# 获取 EXECL安装版本信息?
- 单据录入是用datagridview做吗?
- 工具栏控件问题!
- c#数据库连接的问题
- 有关datetime的默认值的疑问.高手看过来..
- WPF,看下这个Viewbox的布局
- C#蓝牙开发问题:由于目标主机坏了,套接字操作失败
- 有两个窗体Frmshouy,Frmtzy:在Frmshouy窗体中当输入键盘上的10个数字时,自动跳转到Frmtzy窗体上
- Socket长连接只能收获着发消息?
- 修改ORACLE数据库中记录时,频繁地出现System.Data.DBConcurrencyException。急~~~~
- 请帮我看看。这段js代码转换成C#
public static void ToExcel(DataGridView grid, string ExcelTitle)
{
System.Data.DataTable mytable = (System.Data.DataTable)grid.DataSource;
try
{
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
int rowIndex, colIndex;
rowIndex = 1;
colIndex = 0;
Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
if (grid.Rows.Count > 0)
{
foreach (DataGridViewColumn colu in grid.Columns)
{
if (colu.Visible)
{
colIndex = colIndex + 1;
xlApp.Cells[1, colIndex] = colu.HeaderText;
}
}
for (int row = 0; row < mytable.Rows.Count; row++)
{
rowIndex = rowIndex + 1;
colIndex = 0;
for (int col = 0; col < grid.Columns.Count; col++)
{
if (grid.Columns[col].Visible)
{
colIndex = colIndex + 1;
if (grid.Columns[col].CellType.Name == "DataGridViewComboBoxCell")
xlApp.Cells[rowIndex, colIndex] = grid.Rows[row].Cells[col].FormattedValue;
else
xlApp.Cells[rowIndex, colIndex] = grid.Rows[row].Cells[col].Value;
}
}
}
}
else
{
foreach (DataColumn Col in mytable.Columns)
{
colIndex = colIndex + 1;
xlApp.Cells[1, colIndex] = Col.ColumnName;
}
for (int row = 0; row < mytable.Rows.Count; row++)
{
rowIndex = rowIndex + 1;
colIndex = 0;
for (int col = 0; col < mytable.Columns.Count; col++)
{
colIndex = colIndex + 1;
xlApp.Cells[rowIndex, colIndex] = grid.Rows[row].Cells[col].Value;
}
}
}
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, colIndex]).Font.Bold = true;
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[rowIndex, colIndex]).Borders.LineStyle = 1;
xlApp.Cells.EntireColumn.AutoFit();
xlApp.Cells.VerticalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;
xlApp.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;
xlApp.Visible = true;
}
catch(Exception ex)
{
MessageBox.Show("错误消息:"+ex.Message,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
稍微修改一下就可以
把你的GridView赋值到另外一个GridView,第一列不要
用新生成的GridView导出。
void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[0].Visible = false; //如果想使第1列不可见,则将它的可见性设为false
//可以根据需要设置更多的列
}2.
this.GridView1.Columns[0].Visible = false;
http://blog.csdn.net/xuenzhen123/archive/2009/10/22/4713019.aspx
你把数据源拿过来就行了~