2017-03-13 2 views
0

Wie erhalte ich den Pfad oder den Dateinamen der Arbeitsmappe im folgenden Code, damit ich das bearbeitete Arbeitsbuch abrufen kann. Ich habe ExpertXLS verwendet - Excel-Tabelle Bibliothek für .NET - C#/VB.NET hierPfad oder Dateiname der Excel-Arbeitsmappe abrufen

using ExpertXls; 

namespace IQC 
{ 
    public class CSFB 
    { 
      public static string GenerateTemplateForCurrentGridView(IQO[] items, string colname, int icol) 
      { 
       /*Some Code here*/ 
       string pathSource = HttpContext.Current.Server.MapPath("~/pdf/ExportTemplate.xlsx"); 
       ExpertXls.ExcelLib.ExcelWorkbook workbook = new ExpertXls.ExcelLib.ExcelWorkbook(@pathSource); 
       workbook.LicenseKey = Inq.Configuration.Settings.Value("ExpertPdfLicenseKey"); 
       ExpertXls.ExcelLib.ExcelWorksheet ws = workbook.Worksheets["ImportTemplate"]; 
       ExpertXls.ExcelLib.ExcelCellStyle Style1 = workbook.Styles.AddStyle("Style1"); 
       Style1.Fill.FillType = ExpertXls.ExcelLib.ExcelCellFillType.SolidFill; 
       Style1.Fill.SolidFillOptions.BackColor = Color.Yellow; 
       foreach (string cols in colname.Split(',')) 
       { 
        ws[cols].Style = Style1;      
       } 
       /*Some Code here*/ 
      } 
    } 
} 

Antwort

0

Hinzufügen unter Code funktionierte. Ich habe das bearbeitete Buch in "pathsource" gespeichert

System.IO.FileStream fs = new FileStream(pathSource, FileMode.OpenOrCreate, FileAccess.ReadWrite); 
string fileName = fs.Name; 
try 
{ 
    workbook.Save(fs); 
} 
catch (Exception ex) 
{      
    Logger.Error(" Error:", ex); 
} 
finally 
{      
    workbook.Close(); 
} 
1

Sie Application.ActiveWorkbook.FullName verwenden können, wenn die Arbeitsmappe aktive Arbeitsmappe ist. Sie können auch versuchen, workbook.Path zu verwenden. Siehe die link.