写在两个不同的工作表上剂量不起作用 excel 2007



我有问题,我需要在Excel上写一些信息。

我可以在两个工作表之一("工作表"(中正确写入,并且与另一个工作表(" worksheet2"(,它没有写任何东西,我不知道为什么。所有过程都是相同的,但没有写任何东西。

我将代码放在下面,希望它有所帮助:

var excelApp = new Microsoft.Office.Interop.Excel.Application();
        excelApp.Workbooks.Open(destFile);
        Microsoft.Office.Interop.Excel.Worksheet worksheet = excelApp.Worksheets.get_Item(2);
        Microsoft.Office.Interop.Excel.Worksheet worksheet2 = excelApp.Worksheets.get_Item(1);
        excelApp.Visible = false;
        var data = new object[numRows, numColumns];
        int contadorMedidas = 0;
        //int primeraVez = 0;
        for (int i = 1; i <= numRows; i++)  // assuming the data starts at 1,1
        {
            for (int j = 1; j <= numColumns; j++)
            {
                if (contadorMedidas < contents.Count)
                {
                    worksheet.Cells[i, j] = contents[contadorMedidas];
                    contadorMedidas++;
                }
            }
        }
        //Escribir en la hoja de pautas el nombre y los valores de codigo y plano
        //Codigo
        worksheet2.Cells[2, 5] = codigo;
        //Plano
        worksheet2.Cells[3, 4] = plano;
        //Trabajador
        worksheet2.Cells[6, 2] = cbxWorker.Text;
        //Si es BR, hay que añadir un código extra:
        if (br)
        {
            for (int i = 0; i < numRows; i++)
            {
                worksheet2.Cells[8 + i, 6] = "7525SI-0203-FA"; 
            }
        }
        excelApp.Quit();

我在您的代码中注意到在Worksheet2中写入时,您有条件。也许这种情况是错误的,这就是为什么它没有写入工作表2。

if (br)
{
    //write to worksheet2
}

否则,我使用了以下代码,并且能够在同一Excel工作簿中的两个工作表上写入。希望这会有所帮助。

//I created a class called ExcelFunctions which has the 
//methods OpenExcelFile and AccessSpecificExcelSheet
var excelFunction = new ExcelFunctions();    
//Open the Excel file
excelWorkbook = excelFunction.OpenExcelFile(excelApp, excelFilePath);
//Get the sheets
Sheets excelSheets = excelWorkbook.Worksheets;
//Access the first sheet
string sheetName = "Sheet1";
Worksheet activeWorksheet = excelFunction.AccessSpecificExcelSheet(excelSheets, sheetName);
                activeWorksheet.Cells[2, 1] = "Write to sheet1";
//Access the second sheet
string sheetName2 = "Sheet2";
activeWorksheet = excelFunction.AccessSpecificExcelSheet(excelSheets, sheetName2);
activeWorksheet.Cells[4, 1] = "Write to sheet2";

这是我的" AccessSpecification excelsheet"方法的样子:

public Worksheet AccessSpecificExcelSheet(Sheets allExcelSheets, string sheetName)
{
    Worksheet selectedWorksheet = allExcelSheets.get_Item(sheetName);
    selectedWorksheet.Select();
    //Select cell A1 when opening
    Range topExcel = selectedWorksheet.get_Range("A1", Type.Missing);
    topExcel.Select();
    return selectedWorksheet;
}

这是我的" OpenExcelfile"方法的样子:

public Workbook OpenExcelFile(Application excelApp, string excelFilePath)
{
    Workbook excelWorkbook = excelApp.Workbooks.Open(excelFilePath);
    return excelWorkbook;
}

最新更新