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# 如何使用c将预先生成的csv文件复制到xlsx中#_C#_Excel_Csv_Xlsx - Fatal编程技术网

C# 如何使用c将预先生成的csv文件复制到xlsx中#

C# 如何使用c将预先生成的csv文件复制到xlsx中#,c#,excel,csv,xlsx,C#,Excel,Csv,Xlsx,我正在编写一个程序,将特定列从预生成的.csv文件复制到模板xlsx文件。使用我的代码,我只能将整个csv文件复制到第一列。如何在粘贴过程中将“;”视为分隔符? 如果我跨越了这个问题,如何只复制我选择的特定列? 粘贴后使用Excel的方法。通过使用,您可以在工作簿中打开csv,而无需复制和粘贴。请在粘贴后使用Excel的方法在此处签出。通过使用,您可以在工作簿中打开csv,而无需复制和粘贴。请查看此处 using System; using System.Collections.Generic

我正在编写一个程序,将特定列从预生成的.csv文件复制到模板xlsx文件。使用我的代码,我只能将整个csv文件复制到第一列。如何在粘贴过程中将“;”视为分隔符? 如果我跨越了这个问题,如何只复制我选择的特定列?

粘贴后使用Excel的方法。通过使用,您可以在工作簿中打开csv,而无需复制和粘贴。请在粘贴后使用Excel的方法在此处签出。通过使用,您可以在工作簿中打开csv,而无需复制和粘贴。请查看此处
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Excel = Microsoft.Office.Interop.Excel;
namespace Kreator
{
class Program
{
    static void Main(string[] args)
    {
        Excel.Application srcApp;
        Excel.Workbook srcWorkbook;
        Excel.Worksheet srcWorksheet;


        Excel.Application destApp;
        Excel.Workbook destWorkbook;
        Excel.Worksheet destWorksheet;


        string srcPath = "C:\\Users\\Desktop\\Raport.csv";
        string destPath = "C:\\Users\\Desktop\\XXX.xlsx";



        srcApp = new Excel.Application();
        srcWorkbook = srcApp.Workbooks.Open(srcPath);
        srcWorksheet = srcWorkbook.Worksheets.get_Item(1);




        destApp = new Excel.Application();
        destWorkbook = destApp.Workbooks.Open(destPath,0,false);
        destWorksheet = destWorkbook.Worksheets.get_Item(1);



        Excel.Range srcRange = srcWorksheet.get_Range("A1", "C20");
        Excel.Range destRange = destWorksheet.get_Range("C10","E29");

        srcRange.Copy(Type.Missing);
             destRange.PasteSpecial(Microsoft.Office.Interop.Excel.XlPasteType.xlPasteValu            es, Microsoft.Office.Interop.Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone);

        destWorkbook.SaveAs("C:\\Users\\Desktop\\GotowyPlik" + DateTime.Now.ToString("MM_dd_yyyy") + ".xlsx");


        srcApp.Application.DisplayAlerts = false;
        destApp.Application.DisplayAlerts = false;
        srcWorkbook.Close(false, null, null);
        destWorkbook.Close(true, null, null);
        destApp.Quit();
        srcApp.Quit();

       }
   }
}