【C#】【EXCEL】将grasshopper中指定列数据写入EXCEL中

using System;
using System.Collections.Generic;
using Excel = Microsoft.Office.Interop.Excel;

public void RunScript(bool build, List<object> data, string filePath, string sheetName, string columnLetter)
{
    if (build)
    {
        WriteToExcel(data, filePath, sheetName, columnLetter);
    }
}

public static void WriteToExcel(List<object> data, string filePath, string sheetName, string columnLetter)
{
    Excel.Application excelApp = new Excel.Application();
    Excel.Workbook workbook = excelApp.Workbooks.Open(filePath);
    Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[sheetName];

    int rowIndex = 1;
    foreach (var item in data)
    {
        worksheet.Range[columnLetter + rowIndex.ToString()].Value = item;
        rowIndex++;
    }

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

    ReleaseObject(worksheet);
    ReleaseObject(workbook);
    ReleaseObject(excelApp);
}

private static void ReleaseObject(object obj)
{
    System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
    obj = null;
    System.GC.Collect();
}

主要部分:

  1. RunScript 方法: 接受 build 参数来控制是否执行写入 Excel 的操作,如果 buildtrue,则调用 WriteToExcel 方法。

  2. WriteToExcel 方法: 打开指定的 Excel 文件,将数据写入指定的工作表和列中,然后保存并关闭 Excel 文件。

  3. ReleaseObject 方法: 释放 COM 对象,并强制进行垃圾回收。

代码假设 Excel 文件已经存在,并且工作表也已经存在。它没有处理创建新 Excel 文件或工作表的情况,也没有详细的异常处理。

在使用此代码之前,请确保已安装 Microsoft Office,并在 Grasshopper 中引用 Microsoft.Office.Interop.Excel 库。
在这里插入图片描述

最近更新

  1. TCP协议是安全的吗?

    2024-03-14 06:30:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-14 06:30:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-14 06:30:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-14 06:30:06       20 阅读

热门阅读

  1. 亚马逊云科技 Lambda 运行selenium

    2024-03-14 06:30:06       22 阅读
  2. 突破编程_C++_设计模式(状态模式)

    2024-03-14 06:30:06       17 阅读
  3. 华为认证云计算专家(HCIE-Cloud Computing)--问答题

    2024-03-14 06:30:06       19 阅读
  4. MFC中内存共享调用方法及使用示例

    2024-03-14 06:30:06       20 阅读
  5. 使用docker搭建webtop

    2024-03-14 06:30:06       20 阅读
  6. WPF控件模板

    2024-03-14 06:30:06       17 阅读
  7. WPF-后台设置控件Background

    2024-03-14 06:30:06       19 阅读
  8. 使用Django框架快速搭建个人网站

    2024-03-14 06:30:06       21 阅读
  9. 小程序APP为什么要选择游戏盾SDK防护DDOS

    2024-03-14 06:30:06       21 阅读
  10. Oracle 死锁、指标汇总

    2024-03-14 06:30:06       17 阅读