如何使用 C# 从 DataSet 创建具有多个工作表的 Excel 文件

2023-11-22

如何使用 C# 从 DataSet 创建具有多个工作表的 Excel 文件?

我已经成功创建了一个带有单张表的 Excel 文件。但我无法对多张纸执行此操作。


下面是一个简单的 C# 类,它以编程方式创建 Excel WorkBook 并向其中添加两个工作表,然后填充这两个工作表。最后,它将工作簿保存到应用程序根目录中的文件中,以便您可以检查结果...

public class Tyburn1
{
    object missing = Type.Missing;
    public Tyburn1()
    {
        Excel.Application oXL = new Excel.Application();
        oXL.Visible = false;
        Excel.Workbook oWB = oXL.Workbooks.Add(missing);
        Excel.Worksheet oSheet = oWB.ActiveSheet as Excel.Worksheet;
        oSheet.Name = "The first sheet";
        oSheet.Cells[1, 1] = "Something";
        Excel.Worksheet oSheet2 = oWB.Sheets.Add(missing, missing, 1, missing) 
                        as Excel.Worksheet;
        oSheet2.Name = "The second sheet";
        oSheet2.Cells[1, 1] = "Something completely different";
        string fileName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)        
                                + "\\SoSample.xlsx";
        oWB.SaveAs(fileName, Excel.XlFileFormat.xlOpenXMLWorkbook,
            missing, missing, missing, missing,
            Excel.XlSaveAsAccessMode.xlNoChange,
            missing, missing, missing, missing, missing);
        oWB.Close(missing, missing, missing);
        oXL.UserControl = true;
        oXL.Quit();
    }
}

为此,您需要将对 Microsoft.Office.Interop.Excel 的引用添加到您的项目中(您可能已经在创建一张工作表时执行了此操作)。

添加第二张表的语句是...

Excel.Worksheet oSheet2 = oWB.Sheets.Add(missing, missing, 1, missing) 
                            as Excel.Worksheet;

“1”参数指定单个工作表,如果您想一次添加多个工作表,则可以指定更多个工作表。

最后注意:语句 oXL.Visible = false;告诉 Excel 以静默模式启动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C# 从 DataSet 创建具有多个工作表的 Excel 文件 的相关文章

  • 使用 VBA 跟踪 Excel 2007/2010 中的样式更改

    我需要跟踪某些工作表中的单元格样式变化 我无法在 Excel 2007 2010 中使用内置跟踪 因为我需要自定义某些内容 我尝试通过 Workbook SheetChange 跟踪样式更改但失败了 当我将单元格从一种样式更改为另一种样式时
  • 使用vba更改工作表的代号

    此代码在 VBE 窗口打开时工作正常 但会引发错误Subscript out of range在这一行 wB VBProject VBComponents wS CodeName Properties CodeName Value wsDa
  • 使用java读取Excel工作表的单列

    我有一张 Excel 表格 我想编写一个方法 该方法将参数作为要读取的列号 并返回一个由该列中的所有数据组成的数组 然后将该列元素放置在 xml 工作表中 我怎样才能编写一个方法来做到这一点 使用 Apache POI 您可以在他们的使用页
  • 访问SVHN数据集中hdf5组的两种方式有什么区别?

    我需要读取 SVHN 数据集并尝试读取第一张图像的文件名 我在理解 HDF5 的结构方面有点困难 尤其是在理解 SVHN 数据集的层次结构 结构方面 这两种读取图像名称的方法有什么区别 我在这个脚本的定义中遇到了方法1getName 功能
  • 将 VSTO 功能公开给 VBA,无需本地管理

    将 Dotnet VSTO Excel 加载项中的某些功能公开到 VBA 的最佳方法是什么 而不要求用户成为本地管理员 即无需 COM 注册 没有 HttpListener http www devnewsgroups net group
  • 相应列值的最小值之和

    我有两列数字 我想在一个单独的单元格中计算总和 总和将包括这两列中相应单元格的最小值 Example A B 1 1 2 2 4 3 3 0 1 4 5 5 我需要一个公式来计算单元格中 1 3 0 5 的总和 其中 1 is the MI
  • VBA:对矩阵求和

    为什么这个功能不起作用 Type funtest 2 1 在 Excel 中 它会给我 VALUE Public Function funtest a As Double As Double Dim z j i As Integer Dim
  • 导出扩展名为 .xlsx 的 Excel 文件

    我正在尝试使用以下代码导出 xlsx 文件 DataTable dataTable new DataTable tableName OleDbDataAdapter adapter new OleDbDataAdapter select a
  • 对于从开始到结束的循环,结束变量在循环中改变

    从测试数据开始 并运行代码 Sub TestLoop Dim LastRow As Long CurRow As Long LastRow Range A Rows Count End xlUp Row For CurRow 1 To La
  • 有没有更快的方法来对 Xarray 数据集变量求和?

    这是我的第一个堆栈交换问题 所以我希望我做得正确 我正在尝试将数据集中的一些 xarray 变量求和 每个变量都有相同的维度 代码基本上如下所示 def add variables xarray dataset listofvars dat
  • 单步执行会产生与运行不同的结果

    我有一段代码用于拆分单元格中的文本 数据是由不使用任何有用的分隔符的调查程序输出的 因此不幸的是 将文本转换为列对我没有任何帮助 我写了这段代码 但事实证明 两种情况下结果是不同的 我一步步运行代码 直到添加第一列 然后让它完成 我从执行宏
  • Power Query 根据 Excel 列列表过滤 SQL 视图

    有没有办法使用 Power Query 根据 Excel 表列中的值列表过滤 SQL 视图 我有一个返回大量数据 数百万条记录或属性 的 SQL 视图 用户希望根据属性 ID 的 Excel 表格列进行过滤 我知道我可以根据 Power 查
  • 复制两个 Excel 实例之间的范围

    我正在运行两个单独的 Excel 实例 并且尝试将数据从一个工作簿中的范围复制到另一个工作簿中 我有这个代码 Sub CopyValues Dim xlApp As Excel Application Set xlApp GetObject
  • 在php中将excel转换为xml

    我想读取 Excel 文件并根据该数据创建 XML 文件 在php中可以吗 Thanks 快速谷歌搜索发现this PHP https github com PHPOffice PHPExcelCodePlex 上的项目 您可能想看一下 它
  • 将 Excel 模板 (xltx) 作为 Excel 模板而不是工作簿打开

    我正在尝试编写一行代码来打开 Excel 模板 xltx 文件作为 Excel 模板文件而不是新工作簿 我只是想让用户查看和编辑他们在我们网络上的库文件夹中的模板 然而 我尝试过的所有操作都会打开一个新的工作簿而不是模板 我尝试过互操作 W
  • Excel 单元格对齐:例如数值xlLeft、xlRight 还是 xlCenter?

    我一直在尝试对齐 Excel 单元格文本值 我尝试过更常见的xlLeft xlRight但这似乎不起作用 错误是xlLeft没有宣布 我正在使用 Visual Studios 并使用 VB 创建一个 aspx 页面 这是我的代码示例 Dim
  • 从字符串中提取版本号(例如:“ver.1.9.0”)

    如果我传递一个字符串 verstring vername 1 19 5 它将返回版本 因为我忽略了 Currentver 0 如果我想传递 verstring 1 19 5 我的意思是我将获得两种格式的 verstring 版本名称 ver
  • 如何使用 VBA 在 Excel 中搜索单词然后删除整行? [复制]

    这个问题在这里已经有答案了 请有人帮忙 我正在尝试编写一个 VBA 代码 在 Excel 工作表 D 列中搜索特定单词 DR 然后删除整行 工作表中特定单词多次出现 我想做的就是搜索这些出现的情况 然后删除包含这些单词的整行 我的问题是我不
  • 是否可以编写自定义 Power Query 连接器?

    在 来自其他来源 下的 Power Query 中 我们看到许多专业提供商 Facebook SAP SalesForce 等 我有兴趣编写一个自定义提供程序来访问无法通过任何内置连接器使用的本地专有数据存储 我知道 访问没有支持连接器的数
  • 在方法签名中使用 new 关键字通常只是为了可读性吗?

    我读过关于new关键词在方法签名中并看到了下面的例子this https stackoverflow com questions 1014295 c sharp new keyword in method signature发帖了 但还是不

随机推荐