string saveFileName;
Boolean fileSaved =false ; SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.DefaultExt = "csv";
saveDialog.Filter = "Excel文件|*.csv";
saveDialog.FileName = "Sheet1";
saveDialog.ShowDialog();
saveFileName = saveDialog.FileName;
if (saveFileName.IndexOf(":") < 0)
{
return ;
//被点了取消
}
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
if( xlApp ==null)
{
MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel");
return ; }
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
Microsoft.Office.Interop.Excel.Range range ;
String oldCaption = this.Text ;
long totalCount = ds.Tables[0].Rows.Count;
long rowRead = 0;
Double percent = 0; worksheet.Cells[1, 1] =this.Text ;
//写入字段
int columncount;
int rowcount;
columncount = this.dataGridView1.ColumnCount;
rowcount = this.dataGridView1.RowCount;
for (int m = 1; m <= columncount; m++)
{
worksheet.Cells[1, m] = this.dataGridView1.Columns[m-1].HeaderText;//去除dataGridView1的编号列
}
for (int i = 0; i < rowcount-1; i++)
{
for (int j = 1; j <= columncount; j++)
{
//worksheet.Cells[i + 2, j] = this.dataGridView1.Rows[i].Cells[j-1].Value.ToString();
worksheet.Cells[i + 2, j] ="'"+ ds.Tables [0].Rows[i][j - 1].ToString();
}
rowRead = rowRead + 1;
percent = ((100 * rowRead)) / totalCount;
this.Text = "正在导出数据[" + percent.ToString("0.00") + "%]...";
System.Windows.Forms.Application.DoEvents();
}
我写的代码如上,
Boolean fileSaved =false ; SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.DefaultExt = "csv";
saveDialog.Filter = "Excel文件|*.csv";
saveDialog.FileName = "Sheet1";
saveDialog.ShowDialog();
saveFileName = saveDialog.FileName;
if (saveFileName.IndexOf(":") < 0)
{
return ;
//被点了取消
}
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
if( xlApp ==null)
{
MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel");
return ; }
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
Microsoft.Office.Interop.Excel.Range range ;
String oldCaption = this.Text ;
long totalCount = ds.Tables[0].Rows.Count;
long rowRead = 0;
Double percent = 0; worksheet.Cells[1, 1] =this.Text ;
//写入字段
int columncount;
int rowcount;
columncount = this.dataGridView1.ColumnCount;
rowcount = this.dataGridView1.RowCount;
for (int m = 1; m <= columncount; m++)
{
worksheet.Cells[1, m] = this.dataGridView1.Columns[m-1].HeaderText;//去除dataGridView1的编号列
}
for (int i = 0; i < rowcount-1; i++)
{
for (int j = 1; j <= columncount; j++)
{
//worksheet.Cells[i + 2, j] = this.dataGridView1.Rows[i].Cells[j-1].Value.ToString();
worksheet.Cells[i + 2, j] ="'"+ ds.Tables [0].Rows[i][j - 1].ToString();
}
rowRead = rowRead + 1;
percent = ((100 * rowRead)) / totalCount;
this.Text = "正在导出数据[" + percent.ToString("0.00") + "%]...";
System.Windows.Forms.Application.DoEvents();
}
我写的代码如上,
http://bbs.msproject.cn/Default.aspx?g=posts&t=80
没试过