C# 操作 Excel
private Microsoft.Office.Interop.Excel.Application exApp;
private Microsoft.Office.Interop.Excel.Workbooks exWorkBooks;
private Microsoft.Office.Interop.Excel.Workbook exWorkBook;
private void InsertMsgToExcel(List<UL_FavSentenceListInfo> favSenList, List<UL_FavSentenceCatInfo> favSenCatList, string userID)
{
exApp = new Microsoft.Office.Interop.Excel.Application();//Create New Excel Object
exWorkBooks = exApp.Workbooks;
exWorkBook = exWorkBooks.Add(true);
string lastCatID = "";
string lastCatName = "";
int rowNum = 2;
Microsoft.Office.Interop.Excel.Worksheet currWorkSheet = null;
for (int w = 0; w < favSenList.Count; w++)
{
if (favSenList[w].UserDefinedType != lastCatID)
{
for (int n = 0; n < favSenCatList.Count; n++)
{
if (favSenCatList[n].Row_ID == favSenList[w].UserDefinedType)
{
lastCatID = favSenCatList[n].Row_ID;
lastCatName = favSenCatList[n].CategoryName;
break;
}
}
rowNum = 2;
currWorkSheet = AddSheet(lastCatName);//create new excel's worksheet
BuildSheetHead(currWorkSheet);
}
BuildSheetSenItem(rowNum, currWorkSheet, favSenList[w]);
rowNum++;
}
exApp.Visible = false;
exApp.DisplayAlerts = false;
exFileName = userID + "-" + DateTime.Now.Second.ToString() + ".xls";
exApp.ActiveWorkbook.SaveCopyAs(ApplicationObjMng.ServerObj.MapPath("~/DownloadTemp/UserFavSentence/" + exFileName));
exApp.Application.Workbooks.Close();
exApp.Application.Quit();
exApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(exApp);
}
private void BuildSheetHead(Microsoft.Office.Interop.Excel.Worksheet sheet)
{
SetExcelCellValue(sheet, 1, 1, "英文原句");
SetExcelCellValue(sheet, 2, 1, "中文释义");
SetExcelCellValue(sheet, 3, 1, "我的注释");
sheet.get_Range("A1", "C1").ColumnWidth = 60;
}
private void BuildSheetSenItem(int rowNum, Microsoft.Office.Interop.Excel.Worksheet sheet, UL_FavSentenceListInfo senInfo)
{
SetExcelCellValue(sheet, 1, rowNum, senInfo.SentenceEN);
SetExcelCellValue(sheet, 2, rowNum, senInfo.SentenceCH);
SetExcelCellValue(sheet, 3, rowNum, senInfo.Memo);
}
private Microsoft.Office.Interop.Excel.Worksheet AddSheet(string sheetName)//add new worksheet
{
Microsoft.Office.Interop.Excel.Worksheet currWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)exWorkBook.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
currWorkSheet.Name = sheetName;
return currWorkSheet;
}
private void SetExcelCellValue(Microsoft.Office.Interop.Excel.Worksheet workSheet, int sheetX, int sheetY, string value)
{
workSheet.Cells[sheetY, sheetX] = value;
}

浙公网安备 33010602011771号