这是其中的一种方式,使用微软的Microsoft.Office.Interop.Excel库。
自己写了一个操作类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;
namespace TestExcel
{
public class CBExcel
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
public int rowsint { get { int rowsint = xlWorkSheet.UsedRange.Cells.Rows.Count; return rowsint; } } // 行数
public int columnsint { get { int columnsint = xlWorkSheet.UsedRange.Cells.Columns.Count; return columnsint; } } // 列数
public CBExcel()
{
}
public void SetData(int i, int j, string data)
{
xlWorkSheet.Cells[i, j] = data;
}
public string GetCellValue(int row, int col)
{
string cell_value;
cell_value = ((Excel.Range)xlWorkSheet.Cells[row, col]).Text.ToString();
return cell_value;
}
private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
catch
{
obj = null;
}
finally
{
GC.Collect();
}
}
public void Open(string path, int sheet)
{
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open(path);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(sheet);
}
public void SaveAs()
{
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
}
public void Release()
{
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
}
}
}