обновление документа Excel не сохраняет то, что документ имел - PullRequest
0 голосов
/ 13 ноября 2018

Я использую этот код для обновления документа Excel, он сохраняет новые данные, но старые данные больше не отображаются, не могли бы вы помочь, я просто хочу обновить документ Excel.

public void addRow(string path,int row, string req)
    {
        var f1 = path + "Reqs.xlsx";

        FileInfo file = new FileInfo(f1);
        var package = new ExcelPackage(file);

            ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
            worksheet.Cells[row, 1].Value = req;
            package.Save();

    }

1 Ответ

0 голосов
/ 13 ноября 2018

Здесь я взял коллекцию списков Эмпайра и добавил коды.

публичный класс Emp {
public int ID { get; set; }<br> public string Name { get; set; } }

закрытая статическая пустота AddNewRowsToExcelFile ()
{

 IList<Emp> empList = new List<Emp>()
{  
    new Emp(){ ID=1003, Name="Name1"},  
    new Emp(){ ID=1004, Name="Name2"},  
    new Emp(){ ID=1005, Name="Name3"}  
}; 

Excel.Application xlApp = new Excel.Application();  

Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath, 0, false, 5,
    "", "", false,Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, 
    false, 0, true, false, false);  

Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);  

Excel.Range xlRange = xlWorkSheet.UsedRange;  
int rowNumber = xlRange.Rows.Count + 1;  

foreach (Emp emp in empList)  
{  
    xlWorkSheet.Cells[rowNumber, 1] = emp.ID;  
    xlWorkSheet.Cells[rowNumber, 2] = emp.Name;  
    rowNumber++;  
}  

// Disable file override confirmaton message 

xlApp.DisplayAlerts = false;  
xlWorkBook.SaveAs(filePath, Excel.XlFileFormat.xlOpenXMLWorkbook,  
    Missing.Value, Missing.Value, Missing.Value, Missing.Value, 
    Excel.XlSaveAsAccessMode.xlNoChange,  
    Excel.XlSaveConflictResolution.xlLocalSessionChanges, Missing.Value, 
    Missing.Value,  
    Missing.Value, Missing.Value);

xlWorkBook.Close();  
xlApp.Quit();  

Marshal.ReleaseComObject(xlWorkSheet);  
Marshal.ReleaseComObject(xlWorkBook);  
Marshal.ReleaseComObject(xlApp);  

Console.BackgroundColor = ConsoleColor.DarkBlue;  
Console.WriteLine("\nRecords Added successfully...");  
Console.BackgroundColor = ConsoleColor.Black;  

}

После добавления записей файл будет сохранен без запроса подтверждения для переопределения файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...