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# ExcelLibrary.DataSetHelper.CreateWorkbook(“MyExcelFile.xls”,ds);行给出了一个错误,为什么?_C#_Excel - Fatal编程技术网

C# ExcelLibrary.DataSetHelper.CreateWorkbook(“MyExcelFile.xls”,ds);行给出了一个错误,为什么?

C# ExcelLibrary.DataSetHelper.CreateWorkbook(“MyExcelFile.xls”,ds);行给出了一个错误,为什么?,c#,excel,C#,Excel,我想将数据库导出到Excel工作表。我正在使用Visual Studio 2017 我尝试了Microsoft.Office.Interop.Excel 我建议使用SSMS而不是VisualStudio来实现这一点。您可以使用SQL Server中的向导工具将数据导出到excel文件,如果需要持续执行此操作,可以创建SSIS包。有关更多信息,请参阅本文 如果确实希望使用互操作,那么最好显式导出每个表 //Launch an Excel session Application ex

我想将数据库导出到Excel工作表。我正在使用Visual Studio 2017

我尝试了Microsoft.Office.Interop.Excel


我建议使用SSMS而不是VisualStudio来实现这一点。您可以使用SQL Server中的向导工具将数据导出到excel文件,如果需要持续执行此操作,可以创建SSIS包。有关更多信息,请参阅本文

如果确实希望使用互操作,那么最好显式导出每个表

//Launch an Excel session
        Application excelapp = new Application();
        excelapp.Visible = true;

        _Workbook workbook = (_Workbook)(excelapp.Workbooks.Add(Type.Missing));
        _Worksheet worksheet = (_Worksheet)workbook.ActiveSheet;

        //Create Worksheet Headers
        worksheet.Cells[1, 1] = "Order number";
        worksheet.Cells[1, 2] = "Delivery carrier";
        worksheet.Cells[1, 3] = "Shipper arrive early";
        worksheet.Cells[1, 4] = "Shipper city";
        worksheet.Cells[1, 5] = "Shipper state";
        worksheet.Cells[1, 6] = "Consignee arrive early";
        worksheet.Cells[1, 7] = "Consignee city";
        worksheet.Cells[1, 8] = "Consignee state";
        worksheet.Cells[1, 9] = "BOL";
        worksheet.Cells[1, 10] = "Consignee reference";
        worksheet.Cells[1, 11] = "Shipper actual arrival";
        worksheet.Cells[1, 12] = "Shipper actual departure";
        worksheet.Cells[1, 13] = "Status";
        worksheet.Cells[1, 14] = "Consignee actual arrival";
        worksheet.Cells[1, 15] = "Consignee actual departure";

        int row1 = 1;

        //Format text type in excel
        worksheet.Cells[1, 1].EntireColumn.NumberFormat = "@";   

        //Write Data to Each Row of Worksheet
        foreach (DB_DataSet.Row row in report_Data)
        {
            row1++;

            worksheet.Cells[row1, 1] = row.Order_number;
            worksheet.Cells[row1, 2] = row.Delivery_Carrier;
            worksheet.Cells[row1, 3] = row.Shipper_arrive_early;
            worksheet.Cells[row1, 4] = row.Shipper_city;
            worksheet.Cells[row1, 5] = row.Shipper_state;
            worksheet.Cells[row1, 6] = row.Consignee_arrive_early;
            worksheet.Cells[row1, 7] = row.Consignee_city;
            worksheet.Cells[row1, 8] = row.Consignee_state;
            worksheet.Cells[row1, 9] = row.BOL;
            worksheet.Cells[row1, 10] = row.Consignee_reference;
            worksheet.Cells[row1, 11] = row.Shipper_Actual_Arrival;
            try { worksheet.Cells[row1, 12] = row.Shipper_Actual_departure; } catch { }
            try { worksheet.Cells[row1, 13] = row.status; } catch { }
            try { worksheet.Cells[row1, 14] = row.Consignee_actual_arrival; } catch { }
            try { worksheet.Cells[row1, 15] = row.Consignee_actual_departure; } catch { }

            //Format Worksheet
            worksheet.Cells[row1, 15].EntireRow.Font.Name = "Arial";
        }
谢谢,

约瑟夫

//Launch an Excel session
        Application excelapp = new Application();
        excelapp.Visible = true;

        _Workbook workbook = (_Workbook)(excelapp.Workbooks.Add(Type.Missing));
        _Worksheet worksheet = (_Worksheet)workbook.ActiveSheet;

        //Create Worksheet Headers
        worksheet.Cells[1, 1] = "Order number";
        worksheet.Cells[1, 2] = "Delivery carrier";
        worksheet.Cells[1, 3] = "Shipper arrive early";
        worksheet.Cells[1, 4] = "Shipper city";
        worksheet.Cells[1, 5] = "Shipper state";
        worksheet.Cells[1, 6] = "Consignee arrive early";
        worksheet.Cells[1, 7] = "Consignee city";
        worksheet.Cells[1, 8] = "Consignee state";
        worksheet.Cells[1, 9] = "BOL";
        worksheet.Cells[1, 10] = "Consignee reference";
        worksheet.Cells[1, 11] = "Shipper actual arrival";
        worksheet.Cells[1, 12] = "Shipper actual departure";
        worksheet.Cells[1, 13] = "Status";
        worksheet.Cells[1, 14] = "Consignee actual arrival";
        worksheet.Cells[1, 15] = "Consignee actual departure";

        int row1 = 1;

        //Format text type in excel
        worksheet.Cells[1, 1].EntireColumn.NumberFormat = "@";   

        //Write Data to Each Row of Worksheet
        foreach (DB_DataSet.Row row in report_Data)
        {
            row1++;

            worksheet.Cells[row1, 1] = row.Order_number;
            worksheet.Cells[row1, 2] = row.Delivery_Carrier;
            worksheet.Cells[row1, 3] = row.Shipper_arrive_early;
            worksheet.Cells[row1, 4] = row.Shipper_city;
            worksheet.Cells[row1, 5] = row.Shipper_state;
            worksheet.Cells[row1, 6] = row.Consignee_arrive_early;
            worksheet.Cells[row1, 7] = row.Consignee_city;
            worksheet.Cells[row1, 8] = row.Consignee_state;
            worksheet.Cells[row1, 9] = row.BOL;
            worksheet.Cells[row1, 10] = row.Consignee_reference;
            worksheet.Cells[row1, 11] = row.Shipper_Actual_Arrival;
            try { worksheet.Cells[row1, 12] = row.Shipper_Actual_departure; } catch { }
            try { worksheet.Cells[row1, 13] = row.status; } catch { }
            try { worksheet.Cells[row1, 14] = row.Consignee_actual_arrival; } catch { }
            try { worksheet.Cells[row1, 15] = row.Consignee_actual_departure; } catch { }

            //Format Worksheet
            worksheet.Cells[row1, 15].EntireRow.Font.Name = "Arial";
        }