Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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#_Excel - Fatal编程技术网

C# 如何将数据导入excel工作表

C# 如何将数据导入excel工作表,c#,excel,C#,Excel,我有数据表。我需要将这些数据表值导入Excel模板。如何实现这一点有许多选项 将数据写入CSV文件 将数据作为HTML表写出 用于操作正在运行的Excel实例 用于创建Excel文件 使用类似于编写Excel文件的库 使用类似于编写Excel文件的库 使用officeopenxml 在这些选项中,出于性能和简单性的考虑,我喜欢选项5,尤其是当服务器端需要时。如果您需要XLSX文件而不是XLS,则选项6很好。与5和6相比,选项7具有陡峭的学习曲线。试试这一个- // TO USE:

我有数据表。我需要将这些数据表值导入Excel模板。如何实现这一点有许多选项

  • 将数据写入CSV文件
  • 将数据作为HTML表写出
  • 用于操作正在运行的Excel实例
  • 用于创建Excel文件
  • 使用类似于编写Excel文件的库
  • 使用类似于编写Excel文件的库
  • 使用officeopenxml
  • 在这些选项中,出于性能和简单性的考虑,我喜欢选项5,尤其是当服务器端需要时。如果您需要XLSX文件而不是XLS,则选项6很好。与5和6相比,选项7具有陡峭的学习曲线。

    试试这一个-

    // TO USE:
                // 1) include COM reference to Microsoft Excel Object library
                // add namespace...
                // 2) using Excel = Microsoft.Office.Interop.Excel;
                private static void Excel_FromDataTable(DataTable dt)
                {
                    // Create an Excel object and add workbook...
                    Excel.ApplicationClass excel = new Excel.ApplicationClass();
                     // true for object template???
                    Excel.Workbook workbook = excel.Application.Workbooks.Add(true); 
    
    
                    // Add column headings...
                    int iCol = 0;
                    foreach (DataColumn c in dt.Columns)
                    {
                        iCol++;
                        excel.Cells[1, iCol] = c.ColumnName;
                    }
                    // for each row of data...
                    int iRow = 0;
                    foreach (DataRow r in dt.Rows)
                    {
                        iRow++;
    
                        // add each row's cell data...
                        iCol = 0;
                        foreach (DataColumn c in dt.Columns)
                        {
                            iCol++;
                            excel.Cells[iRow + 1, iCol] = r[c.ColumnName];
                        }
                    }
    
                    // Global missing reference for objects we are not defining...
                    object missing = System.Reflection.Missing.Value;
    
                    // If wanting to Save the workbook...
                    workbook.SaveAs("MyExcelWorkBook.xls",
                        Excel.XlFileFormat.xlXMLSpreadsheet, missing, missing,
                        false, false, Excel.XlSaveAsAccessMode.xlNoChange,
                        missing, missing, missing, missing, missing);
    
                    // If wanting to make Excel visible and activate the worksheet...
                    excel.Visible = true;
                    Excel.Worksheet worksheet = (Excel.Worksheet)excel.ActiveSheet;
                    ((Excel._Worksheet)worksheet).Activate();
    
                    // If wanting excel to shutdown...
                    ((Excel._Application)excel).Quit();
                }
    

    永远记住,谷歌是你的朋友: