簡體   English   中英

在C#中將額外的數據添加到已經創建的Excel工作表中

[英]Adding extra data to an already created Excel sheet in C#

我正在C#中創建一個簡單的應用程序,其中將數據保存在已經創建的Excel工作表中。 為此,首先我要從行中讀取數據,如果該行為空,則意味着必須將新數據保存在其中。 我有一個具有以下詳細信息的Excel工作表:

S.No | Name | Email ID | Phone Number

因此,我首先檢查最后一個S.No 假設它是4,這意味着我必須在第6行中以S.No = 5輸入數據,因為標頭占據了一行。

為此,我首先打開excel文件,然后掃描行。 我可以掃描它,但是當我嘗試保存它時,它會用新的文件替換當前文件,而舊的數據會丟失。 這是我在做什么:

Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("<filepath>", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

Excel._Worksheet xlWorksheet = (Excel._Worksheet)xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;

int rowCount = xlRange.Rows.Count;
int colCount = xlRange.Columns.Count;

for(parse = 2; parse <= 100; parse++)
{
     if (xlRange.Cells[parse, 1].Value2 != null)
     {
        Sno++;
     }
     else
     {
        break;
     }
}

//Sno contains the recent serial number

之后,我只是填充數據並保存文件:

xlWorksheet.Cells[Sno + 2, 1] = Sno + 1;
xlWorksheet.Cells[Sno + 2, 2] = NameTextBox.Text;
xlWorksheet.Cells[Sno + 2, 3] = EmailIdTextBox.Text;
xlWorksheet.Cells[Sno + 2, 4] = PhoneNumberTextBox.Text;
xlWorksheet.SaveAs("<filepath>");
xlWorkbook.Close();
xlApp.Quit();

但是在保存時它說文件已經退出,因為我正在執行SaveAs 有什么方法可以保存文件或任何其他替代方法。

請幫忙。

為了節省,請參閱

還要考慮我在評論中所說的工作原理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM