2016-04-13 16 views
1

Benim gereksinimim, Ek Eklentisi altındaki bir excel dosyasını açmaktır. Bu yüzden referansı here'dan aldım ve gereksinim için abatishchev cevabını kullandım. Bu yüzden aşağıdaki kodumda denedim.asp.net C kullanarak bir excel dosyası açma #

public void ExportExcel() 
{ 
    string str_lwpc_query = string.Empty; 
    str_lwpc_query = "select company_name 'COMPANY NAME',Deputed_Company_Name 'DEPUTED COMPANY NAME',emp_card_no 'EMP CODE',emp_name 'EMPLOYEE NAME',LWP,'' Remarks, " + 
        "Adj_Days Gain_Loss_LOP_Days, VAL_DAY LOP_Days_Desc, month, year from XXACL_EMP_INFO_LWP_OTDAYS_HRS_V " + 
        "where emp_type='C' and month = '3' and year = '2015' "; 
    DataTable Dt_lwpc = new DataTable(); 
    Dt_lwpc = CF.ExecuteDT(str_lwpc_query); 
    DataSet DS_lwpc = new DataSet(); 
    DS_lwpc.Tables.Add(Dt_lwpc); 
    DS_lwpc.Tables[0].TableName = "Employee loss of pay for consultant Details"; 
    var directory = Server.MapPath("~/Attachment/"); 
    ExcelLibrary.DataSetHelper.CreateWorkbook(directory + "Employee_lwpc_Details.xls", DS_lwpc); 

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); 
    ExcelLibrary.Office.Excel.Workbook wb = excel.Workbooks.Open(ExcelLibrary.DataSetHelper.CreateWorkbook(directory + "Employee_lwpc_Details.xls", DS_lwpc)); 
} 

ama,

Microsoft.Office.Interop.Excel.Workbooks.Open (dize, nesne, nesne, nesne için en iyi aşırı yöntem maç olarak son satırında hata alıyorum .. .........)

nazik

+0

@DmitryRotay: bununla kodunun son iki satırı değiştirin çalıştı örtülü açık bir dönüşüm var ExcelLibrary.Office.Excel.Workbook tip Microsoft.Office.Interop.Excel dönüştürmek olamaz 'olarak hata var (sen bir döküm eksik) ' – BNN

+0

Üzgünüz, yanlışlıkla yorumumu sildim. Microsoft'un Excel birlikte çalışma kitaplığı ile dosya açmaya çalışıyorsunuz - döndürülen sonuç, Microsoft.Office.Interop.Excel.Workbook' türündedir. ancak sonuç türünün bazı özel kitaplıklarda olmasını bekliyoruz - ExcelLibrary.Office.Excel.Workbook. –

+0

@DmitryRotay: Peki bunun için çözüm nedir? – BNN

cevap

2

Web sitenizin kullanıcılarının sunucuda oluşturduğunuz bir excel dosyasını açmasını istiyorsanız, onu açmanıza gerek yoktur - sadece kullanıcıya gönderin.

string filePath = directory + "Employee_lwpc_Details.xls"; 
Response.ContentType = "Application/vnd.ms-excel"; 
Response.AppendHeader("content-disposition", 
"attachment; filename=" + "Employee_lwpc_Details.xls"); 
Response.TransmitFile(filePath); 
Response.End(); 
+0

Sabır için çok teşekkürler ve sorunu adım adım çözüyorum. Mutlu kodlama :) – BNN

+0

merhaba, mümkünse bu bağlantıya bakın, bu excel dosyası sorunu ile ilgili http://stackoverflow.com/questions/36664300/excel-opening-but-not-able-to-view-gridview – BNN

0

Microsoft.Office.Interop.Excel.Workbooks.Open bir dosya adı ve addi bir dizi gerekenlere yanlış olduğunu öne süren geçersiz argümanlar vardır tional parameters, see the MSDN documentation here. Aramak istediğiniz CreateWorkbook yöntemi, Open için gerekli argümanları döndürmüyor.

+0

Yani buna göre benim kodum olurdu? nazikçe güncelleştirin – BNN

+0

Sadece denediniz mi? ExcelLibrary.Office.Excel.Workbook wb = excel.Workbooks.Open (directory + "Employee_lwpc_Details.xls")); '? Kodunuzu doğru anlıyorsam, bu birkaç satır oluşturduğunuz Çalışma Kitabı'nı açacaktır. –

+0

Yukarıdaki kod sadece dosyayı 'attachment' klasörüne yerleştirir ancak – BNN

İlgili konular