要在C#中创建Excel文件并写入数据,可以使用Microsoft.Office.Interop.Excel库。以下是一个示例代码:

using Excel = Microsoft.Office.Interop.Excel;

public void CreateAndWriteExcel()
{
    // 创建Excel应用程序对象
    Excel.Application excelApp = new Excel.Application();
    excelApp.Visible = true;

    // 创建工作簿
    Excel.Workbook workbook = excelApp.Workbooks.Add();
    Excel.Worksheet worksheet = workbook.Sheets[1];

    // 写入数据
    worksheet.Cells[1, 1] = "Name";
    worksheet.Cells[1, 2] = "Age";
    worksheet.Cells[2, 1] = "John";
    worksheet.Cells[2, 2] = 25;
    worksheet.Cells[3, 1] = "Mary";
    worksheet.Cells[3, 2] = 30;

    // 对数据进行排序
    Excel.Range range = worksheet.UsedRange;
    range.Sort(range.Columns[1], Excel.XlSortOrder.xlAscending, Header: Excel.XlYesNoGuess.xlYes);

    // 自动调整列宽
    range.EntireColumn.AutoFit();

    // 保存文件
    workbook.SaveAs("C:\\path\\to\\file.xlsx");

    // 关闭Excel应用程序对象
    workbook.Close();
    excelApp.Quit();
}

此代码将创建一个新的Excel文件,并在第一个工作表中写入数据。然后,它将按照第一列的值对数据进行排序,并自动调整列宽以适应内容。最后,它将保存文件并关闭Excel应用程序对象。

如果要将此代码扩展到所有区域,可以使用循环来写入数据和排序。以下是一个示例代码:

public void CreateAndWriteExcel()
{
    Excel.Application excelApp = new Excel.Application();
    excelApp.Visible = true;

    Excel.Workbook workbook = excelApp.Workbooks.Add();
    Excel.Worksheet worksheet = workbook.Sheets[1];

    // 写入数据
    string[,] data = new string[,]
    {
        { "Name", "Age" },
        { "John", "25" },
        { "Mary", "30" },
        // 其他数据...
    };

    int rowCount = data.GetLength(0);
    int columnCount = data.GetLength(1);

    for (int i = 0; i < rowCount; i++)
    {
        for (int j = 0; j < columnCount; j++)
        {
            worksheet.Cells[i + 1, j + 1] = data[i, j];
        }
    }

    // 对数据进行排序
    Excel.Range range = worksheet.UsedRange;
    range.Sort(range.Columns[1], Excel.XlSortOrder.xlAscending, Header: Excel.XlYesNoGuess.xlYes);

    range.EntireColumn.AutoFit();

    workbook.SaveAs("C:\\path\\to\\file.xlsx");

    workbook.Close();
    excelApp.Quit();
}

这个示例代码使用一个二维数组来存储数据,并使用嵌套循环来将数据写入Excel文件中。你可以根据需要修改数据和循环逻辑来适应你的需求

C# NOIP创建excel文件写入数据并对数据排序扩展到所有区域

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

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