web-dev-qa-db-fra.com

Ouverture d'un document Excel à l'aide d'EPPlus

J'essaie d'ouvrir un document Excel en utilisant la référence/le package EPPlus. Je n'arrive pas à ouvrir l'application Excel. Quel code me manque?

protected void BtnTest_Click(object sender, EventArgs e)
{
     FileInfo newFile = new FileInfo("C:\\Users\\Scott.Atkinson\\Desktop\\Book.xls");

     ExcelPackage pck = new ExcelPackage(newFile);
     //Add the Content sheet
     var ws = pck.Workbook.Worksheets.Add("Content");
     ws.View.ShowGridLines = false;

     ws.Column(4).OutlineLevel = 1;
     ws.Column(4).Collapsed = true;
     ws.Column(5).OutlineLevel = 1;
     ws.Column(5).Collapsed = true;
     ws.OutLineSummaryRight = true;

     //Headers
     ws.Cells["B1"].Value = "Name";
     ws.Cells["C1"].Value = "Size";
     ws.Cells["D1"].Value = "Created";
     ws.Cells["E1"].Value = "Last modified";
     ws.Cells["B1:E1"].Style.Font.Bold = true;
}

J'ai essayé pck.open(newFile);, mais cela ne le permet pas ...

20
Code Ratchet

Essaye ça:

protected void BtnTest_Click(object sender, EventArgs e)
{
    FileInfo newFile = new FileInfo("C:\\Users\\Scott.Atkinson\\Desktop\\Book.xls");

    ExcelPackage pck = new ExcelPackage(newFile);
    //Add the Content sheet
    var ws = pck.Workbook.Worksheets.Add("Content");
    ws.View.ShowGridLines = false;

    ws.Column(4).OutlineLevel = 1;
    ws.Column(4).Collapsed = true;
    ws.Column(5).OutlineLevel = 1;
    ws.Column(5).Collapsed = true;
    ws.OutLineSummaryRight = true;

    //Headers
    ws.Cells["B1"].Value = "Name";
    ws.Cells["C1"].Value = "Size";
    ws.Cells["D1"].Value = "Created";
    ws.Cells["E1"].Value = "Last modified";
    ws.Cells["B1:E1"].Style.Font.Bold = true;

    pck.Save();
    System.Diagnostics.Process.Start("C:\\Users\\Scott.Atkinson\\Desktop\\Book.xls");
}

J'espère que cela t'aides!

30
matthewr

Essayez ceci dans ASP NET Core pour éviter l'exception win32:

private void CreateWorkbook(string fileName)
{
    using (var p = new ExcelPackage())
    {
        p.Workbook.Properties.Author = "Barry Guvenkaya";
        p.Workbook.Properties.Title = "MyTitle";
        p.Workbook.Worksheets.Add("MySheet");
        var bin = p.GetAsByteArray();
        File.WriteAllBytes(fileName, bin);

        // Below code opens the Excel doc
        var proc = new Process();
        proc.StartInfo = new ProcessStartInfo(fileName)
        {
            UseShellExecute = true
        };
        proc.Start();
    }
}
0
Barry Guvenkaya