Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将字符串数组列表转换为excel文件时的奇怪行为_C#_List_Winforms_Excel Interop - Fatal编程技术网

C# 将字符串数组列表转换为excel文件时的奇怪行为

C# 将字符串数组列表转换为excel文件时的奇怪行为,c#,list,winforms,excel-interop,C#,List,Winforms,Excel Interop,我有一个应用程序,它通过CAN网络收集的一些值创建一个字符串数组。我将字符串数组添加到listview中,然后将其添加到列表属性中,该属性被发送到一个方法,以将列表复制到excel文件中 我使用以下方法将数组添加到listview: ListViewItem item = new ListViewItem(UnitsCheckedArray); DCSDlv.Items.Add(item); UnitsChecked.Add(UnitsCheckedArray); 紧接着,我使用以下命令将同

我有一个应用程序,它通过CAN网络收集的一些值创建一个字符串数组。我将字符串数组添加到listview中,然后将其添加到列表属性中,该属性被发送到一个方法,以将列表复制到excel文件中

我使用以下方法将数组添加到listview:

ListViewItem item = new ListViewItem(UnitsCheckedArray);
DCSDlv.Items.Add(item);
UnitsChecked.Add(UnitsCheckedArray);
紧接着,我使用以下命令将同一数组添加到字符串[]列表中:

ListViewItem item = new ListViewItem(UnitsCheckedArray);
DCSDlv.Items.Add(item);
UnitsChecked.Add(UnitsCheckedArray);
这是将字符串数组添加到listview时的结果

我通过调用write to excel方法将数据写入UnitsChecked列表:

public void WriteToExcel(List<String[]> list)
    {

        int Row = GetFirstEmptyRow();
        int Column = 1;
        foreach(var item in list)
        {
            Column = 1;

            foreach(var subItem in item)
            {
                excelWS.Cells[Row, Column] = subItem;
                Column++;
            }

            Row++;
        }

@菲利普。excel屏幕截图中的数据在每一行上都是相同的。在源数据中,行具有不同的数据。看起来您的
列表只包含ListView中的最后一项。显示填充要传递到
WriteToExcel()
方法的列表的代码。数据不同。查看每个箭头序列号中的最后两个数字。在列表视图中,序列的最后两个数字是10、20、30、40、50、10、20、30、40、50。在excel文件中,序列号的所有行以50结尾。同样,对于列表视图中的SW零件号和HW零件号,有些末端为66AA,有些末端为63AA。在excel文档中,它们都以66AA结尾。@Jimi:listview和列表都是在backgroundworker完成的任务上同时填写的。因此,将数据添加到listview和添加到列表的位置是相同的。数据通过一个名为UnitsCheckedArray的变量添加,如上图所示。我已经在上面添加了在BG worker完成时运行的内容。正如您将看到的,列表和listview都应该有相同的数据,除非我遗漏了什么。这是可能的,也是我发布问题的原因。您没有添加修改
UnitsCheckedArray
的代码。你能分享一下吗?