C#操作Excel!

C#操作Excel!

public class ImportExportToExcel
{
privatestringstrConn;

privateSystem.Windows.Forms.OpenFileDialogopenFileDlg=newSystem.Windows.Forms.OpenFileDialog();
privateSystem.Windows.Forms.SaveFileDialogsaveFileDlg=newSystem.Windows.Forms.SaveFileDialog();

publicImportExportToExcel()
{
//
//TODO:在此处添加构造函数逻辑
//
this.openFileDlg.DefaultExt="xls";
this.openFileDlg.Filter="Excel文件(*.xls)|*.xls";

this.saveFileDlg.DefaultExt="xls";
this.saveFileDlg.Filter="Excel文件(*.xls)|*.xls";

}


从Excel文件导入到DataSet#region从Excel文件导入到DataSet
/////<summary>
/////从Excel导入文件
/////</summary>
/////<paramname="strExcelFileName">Excel文件名</param>
/////<returns>返回DataSet</returns>
//publicDataSetImportFromExcel(stringstrExcelFileName)
//{
//returndoImport(strExcelFileName);
//}
/**////<summary>
///从选择的Excel文件导入
///</summary>
///<returns>DataSet</returns>

publicDataSetImportFromExcel()
{
DataSetds
=newDataSet();
if(openFileDlg.ShowDialog()==System.Windows.Forms.DialogResult.OK)
ds
=doImport(openFileDlg.FileName);
returnds;
}

/**////<summary>
///从指定的Excel文件导入
///</summary>
///<paramname="strFileName">Excel文件名</param>
///<returns></returns>

publicDataSetImportFromExcel(stringstrFileName)
{
DataSetds
=newDataSet();
ds
=doImport(strFileName);
returnds;
}

/**////<summary>
///执行导入
///</summary>
///<paramname="strFileName">文件名</param>
///<returns>DataSet</returns>

privateDataSetdoImport(stringstrFileName)
{
if(strFileName=="")returnnull;

strConn
="Provider=Microsoft.Jet.OLEDB.4.0;"+
"DataSource="+strFileName+";"+
"ExtendedProperties=Excel8.0;";
OleDbDataAdapterExcelDA
=newOleDbDataAdapter("SELECT*FROM[Sheet1$]",strConn);

DataSetExcelDs
=newDataSet();
try
{
ExcelDA.Fill(ExcelDs,
"ExcelInfo");

}

catch(Exceptionerr)
{
System.Console.WriteLine(err.ToString());
}

returnExcelDs;



}

#endregion


从DataSet到出到Excel#region从DataSet到出到Excel
/**////<summary>
///导出指定的Excel文件
///</summary>
///<paramname="ds">要导出的DataSet</param>
///<paramname="strExcelFileName">要导出的Excel文件名</param>

publicvoidExportToExcel(DataSetds,stringstrExcelFileName)
{
if(ds.Tables.Count==0||strExcelFileName=="")return;
doExport(ds,strExcelFileName);


}

/**////<summary>
///导出用户选择的Excel文件
///</summary>
///<paramname="ds">DataSet</param>

publicvoidExportToExcel(DataSetds)
{
if(saveFileDlg.ShowDialog()==System.Windows.Forms.DialogResult.OK)
doExport(ds,saveFileDlg.FileName);

}

/**////<summary>
///执行导出
///</summary>
///<paramname="ds">要导出的DataSet</param>
///<paramname="strExcelFileName">要导出的文件名</param>

privatevoiddoExport(DataSetds,stringstrExcelFileName)
{

Excel.Applicationexcel
=newExcel.Application();

//Excel.Workbookobj=newExcel.WorkbookClass();
//obj.SaveAs("c:\zn.xls",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);

introwIndex=1;
intcolIndex=0;

excel.Application.Workbooks.Add(
true);


System.Data.DataTabletable
=ds.Tables[0];
foreach(DataColumncolintable.Columns)
{
colIndex
++;
excel.Cells[
1,colIndex]=col.ColumnName;
}


foreach(DataRowrowintable.Rows)
{
rowIndex
++;
colIndex
=0;
foreach(DataColumncolintable.Columns)
{
colIndex
++;
excel.Cells[rowIndex,colIndex]
=row[col.ColumnName].ToString();
}

}

excel.Visible
=false;
excel.Sheets[
0]="sss";
excel.ActiveWorkbook.SaveAs(strExcelFileName
+".XLS",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);


//wkbNew.SaveAsstrBookName


//excel.Save(strExcelFileName);
excel.Quit();
excel
=null;

GC.Collect();
//垃圾回收
}

#endregion


从XML导入到Dataset#region从XML导入到Dataset

/**////<summary>
///从选择的XML文件导入
///</summary>
///<returns>DataSet</returns>

publicDataSetImportFromXML()
{
DataSetds
=newDataSet();
System.Windows.Forms.OpenFileDialogopenFileDlg
=newSystem.Windows.Forms.OpenFileDialog();
openFileDlg.DefaultExt
="xml";
openFileDlg.Filter
="xml文件(*.xml)|*.xml";
if(openFileDlg.ShowDialog()==System.Windows.Forms.DialogResult.OK)
try{ds.ReadXml(openFileDlg.FileName,System.Data.XmlReadMode.ReadSchema);}
catch{}
returnds;
}

/**////<summary>
///从指定的XML文件导入
///</summary>
///<paramname="strFileName">XML文件名</param>
///<returns></returns>

publicDataSetImportFromXML(stringstrFileName)
{
if(strFileName=="")
returnnull;
DataSetds
=newDataSet();
try{ds.ReadXml(strFileName,System.Data.XmlReadMode.ReadSchema);}
catch{}
returnds;
}


#endregion


从DataSet导出到XML#region从DataSet导出到XML
/**////<summary>
///导出指定的XML文件
///</summary>
///<paramname="ds">要导出的DataSet</param>
///<paramname="strXMLFileName">要导出的XML文件名</param>

publicvoidExportToXML(DataSetds,stringstrXMLFileName)
{
if(ds.Tables.Count==0||strXMLFileNamecolo
分享到:
评论

你可能感兴趣的:(C++,c,windows,Excel,C#)