以下是一个基于C#的手写操作Excel库的示例代码:

using System; using System.Data; using System.IO; using System.Runtime.InteropServices; using Microsoft.Office.Interop.Excel;

namespace ExcelLibrary { public class ExcelHelper { private Application excelApp; private Workbook excelWorkbook; private Worksheet excelWorksheet;

    public ExcelHelper(string filePath)
    {
        excelApp = new Application();
        excelWorkbook = excelApp.Workbooks.Open(filePath);
        excelWorksheet = excelWorkbook.ActiveSheet;
    }

    public void Close()
    {
        excelWorkbook.Close();
        excelApp.Quit();

        Marshal.ReleaseComObject(excelWorksheet);
        Marshal.ReleaseComObject(excelWorkbook);
        Marshal.ReleaseComObject(excelApp);
    }

    public DataTable ReadExcel(int sheetIndex)
    {
        DataTable dt = new DataTable();

        Range range = excelWorksheet.UsedRange;

        int columnsCount = range.Columns.Count;
        int rowsCount = range.Rows.Count;

        for (int i = 1; i <= columnsCount; i++)
        {
            dt.Columns.Add(new DataColumn((range.Cells[1, i] as Range).Value.ToString()));
        }

        for (int i = 2; i <= rowsCount; i++)
        {
            DataRow row = dt.NewRow();

            for (int j = 1; j <= columnsCount; j++)
            {
                row[j - 1] = (range.Cells[i, j] as Range).Value.ToString();
            }

            dt.Rows.Add(row);
        }

        return dt;
    }

    public void WriteExcel(int sheetIndex, DataTable dt)
    {
        excelWorksheet = excelWorkbook.Sheets[sheetIndex];

        for (int i = 0; i < dt.Columns.Count; i++)
        {
            (excelWorksheet.Cells[1, i + 1] as Range).Value = dt.Columns[i].ColumnName;
        }

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            for (int j = 0; j < dt.Columns.Count; j++)
            {
                (excelWorksheet.Cells[i + 2, j + 1] as Range).Value = dt.Rows[i][j].ToString();
            }
        }
    }

    public void Save()
    {
        excelWorkbook.Save();
    }
}

}

使用示例:

ExcelHelper excel = new ExcelHelper("filePath"); DataTable dt = excel.ReadExcel(1); excel.WriteExcel(2, dt); excel.Save(); excel.Close()

c#手写操作excel库

原文地址: https://www.cveoy.top/t/topic/hiyN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录