private void ExportExcel()
{
Microsoft.Office.Interop.Excel.Application myExcel=new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Worksheet mySheet=new Microsoft.Office.Interop.Excel.WorksheetClass();
myExcel.Visible=true;
myExcel.Workbooks.Add(true);((Microsoft.Office.Interop.Excel.Worksheet)myExcel.Sheets[1]).Name=this.txtTabName.Text;
mySheet=((Microsoft.Office.Interop.Excel.Worksheet)myExcel.Sheets[this.txtTabName.Text]);
Microsoft.Office.Interop.Excel.Range aa;mySheet.Cells[1,1]="表名称:"+this.txtTabName.Text;
mySheet.Cells[2,1]="描述:"+this.txtTabTitle.Text;
for(int i=1;i<=this.c1FlexGrid1.Cols.Count-1;i++)
{
if(this.c1FlexGrid1.Cols[i].Visible==true)
{
mySheet.Cells[3,i]=this.c1FlexGrid1.Cols[i].Caption.ToString();
}
}
for(int i=1;i<=this.c1FlexGrid1.Rows.Count-1;i++)
{
for(int j=1;j<=this.c1FlexGrid1.Cols.Count-1;j++)
{
if(this.c1FlexGrid1.Cols[j].Visible==true)
{
mySheet.Cells[i+3,j]=this.c1FlexGrid1[i,j].ToString();
}
}
}
}
//从for开始是导入 EXCEL 的语句 . . . 研究一下吧 . . .
//设置空值
object objMissing=System.Reflection.Missing.Value;
//打开excel文件
my=new Excel.ApplicationClass();
my.Visible=true;
//打开工作簿
mybook=my.Workbooks.Open(path1.Trim(),objMissing,objMissing, objMissing,
objMissing, objMissing, objMissing,
objMissing, objMissing, objMissing,
objMissing, objMissing, objMissing); mysheet=(Excel.Worksheet)mybook.Worksheets.get_Item(1);
for(int i=1;i<=row;i++)
{ System.Windows.Forms.Application.DoEvents();
for(int j=1;j<=col ;j++)
{
if(((Excel.Range)mysheet.Cells[i,j]).Text.ToString().Length>0)//判断是否被合并
{
if(((Excel.Range)mysheet.Cells[i,j]).Value.ToString().IndexOf("字符"].Trim())>=0)
{..
}
}
}
}
还有一个问题也许你能遇到,
就是读数字是为“”;
比如 678945 ——>'678945
就ok 了