当前位置: 首页 > 知识库问答 >
问题:

C#不明确的呼叫数据收集。添加(System.Data.DataColumn)和“System”。数据数据收集。添加(字符串)

夹谷衡
2023-03-14

下面是我正在使用的代码,我以前使用过这个100x。现在它抛出了一个错误,基本上我正在尝试根据excel文件的第一行动态创建列。我现在收到的错误是:

以下方法或属性之间的调用是不明确的:System. Data. DataClonCollection. Add(System. Data. DataCol列)和System. Data. DataClonCollection. Add(字符串)

DataTable excel_Holding_Table = new DataTable();
        DataRow row;
        Microsoft.Office.Interop.Excel.Range range = workSheet.UsedRange;
        for (int i = 1; i <= range.Columns.Count; i++)
        {
            excel_Holding_Table.Columns.Add(Convert.ToString(((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[1, i]).Value2));
        }

我需要做些什么来防止这种情况发生,这种情况从未出现过。

以下是我的用法:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;

共有1个答案

蔚楷
2023-03-14

我的猜测是转换。ToString返回null,但是因为您是动态调用Add,所以它不能根据实际类型计算重载。

幸运的是,我们可以提高代码的可读性,同时修复问题:

for (int i = 1; i <= range.Columns.Count; i++)
{
     // Note: Add using directive for Microsoft.Office.Interop.Excel
     Range range = (Range) workSheet.Cells[1, i];
     string value = Convert.ToString(range.Value2);
     excel_Holding_Table.Columns.Add(value);
}
 类似资料:
  • 我的Ionic 5应用程序中有以下Firestore数据库结构。 书(集合) {bookID}(带有book字段的文档) 赞(子集合) {userID}(文档名称作为带有字段的用户ID) 集合中有文档,每个文档都有一个子集合。Like collection的文档名是喜欢这本书的用户ID。 我正在尝试进行查询以获取最新的,同时尝试从子集合中获取文档以检查我是否喜欢它。 我在这里做的是用每个图书ID调

  • 添加一条数据 第一种是实例化模型对象后赋值并保存: $user = new UserModel; $user->user_nickname = '老猫'; $user->user_email = 'genmaowan@163.com'; $user->save(); 也可以使用data方法批量赋值: $user = new UserModel; $user->

  • 添加一条数据 使用 Db 类的 insert 方法向数据库提交数据 $user = ['user_nickname'=>'老猫']; Db::name('user')->insert($user); insert 方法添加数据成功返回添加成功的条数,insert 正常情况返回 1 添加数据后如果需要返回新增数据的自增主键,可以使用getLastInsID方法: Db::name('user')-

  • 添加一条数据 第一种是实例化模型对象后赋值并保存: $user = new UserModel; $user->user_nickname = '老猫'; $user->user_email = 'genmaowan@163.com'; $user->save(); 也可以使用data方法批量赋值: $user = new UserModel; $user->

  • 添加一条数据 数据库操作使用 Db类封装方法,请事先在引入 Db类 use think\facade\Db; [danger] 不推荐使用Db类操作数据库,请使用model 使用 Db 类的 insert 方法向数据库提交数据 $user = ['user_nickname'=>'老猫']; Db::name('user')->insert($user); insert 方法添加数据成功返回添

  • 参数: data(一个数据集) 或者 data group(多个数据集) -- JSON格式数据 1. 载入一个数据集 将数据加载到Gio的控制器并同步覆盖以前的数据。用于可视化的数据集采用JSON格式。数组中的每一个元素都包含一个输入国家(i),一个输出国家(e)和一个数值(v)。 [         {                 "e": "CN",                 "i