2009-05-12 16 views
13

का उपयोग कर एक्सेल प्रिंटिंग क्या किसी को पता है कि सी # और एक्सेल इंटरऑप का उपयोग करके प्रोग्रामिंग रूप से एक्सेल फ़ाइल को कैसे मुद्रित किया जाए? यदि हां, तो क्या आप कोड प्रदान कर सकते हैं?इंटरऑप

उत्तर

20

प्रिंट करने के लिए, आप Worksheet.PrintOut() विधि का उपयोग कर सकते हैं। आप Type.Missing में गुजरकर किसी भी या सभी वैकल्पिक तर्कों को छोड़ सकते हैं। यदि आप उन सभी को छोड़ देते हैं, तो यह आपके सक्रिय प्रिंटर से एक प्रति प्रिंट करने के लिए डिफ़ॉल्ट होगा। लेकिन आप प्रिंट, कॉलेशन इत्यादि की प्रतियों की संख्या निर्धारित करने के लिए तर्कों का उपयोग कर सकते हैं। Worksheet.PrintOut() विधि पर और अधिक सहायता देखें।

उदाहरण वे मदद फ़ाइल में दिखा है:

private void PrintToFile() 
{ 
    // Make sure the worksheet has some data before printing. 
    this.Range["A1", missing].Value2 = "123"; 
    this.PrintOut(1, 2, 1, false, missing, true, false, missing); 
} 

लेकिन जब तक आप डिफ़ॉल्ट सेटिंग में बदलाव करने की जरूरत है, तो आप बस सभी तर्कों के लिए Type.Missing में पारित कर सकते हैं। यहाँ स्वचालन का उपयोग कर एक Excel वर्कबुक को खोलने के लिए एक उदाहरण है, पहले पृष्ठ मुद्रित, और फिर शट डाउन:

void PrintMyExcelFile() 
{ 
    Excel.Application excelApp = new Excel.Application(); 

    // Open the Workbook: 
    Excel.Workbook wb = excelApp.Workbooks.Open(
     @"C:\My Documents\Book1.xls", 
     Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
     Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
     Type.Missing, Type.Missing,Type.Missing,Type.Missing); 

    // Get the first worksheet. 
    // (Excel uses base 1 indexing, not base 0.) 
    Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1]; 

    // Print out 1 copy to the default printer: 
    ws.PrintOut(
     Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
     Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

    // Cleanup: 
    GC.Collect(); 
    GC.WaitForPendingFinalizers(); 

    Marshal.FinalReleaseComObject(ws); 

    wb.Close(false, Type.Missing, Type.Missing); 
    Marshal.FinalReleaseComObject(wb); 

    excelApp.Quit(); 
    Marshal.FinalReleaseComObject(excelApp); 
} 

आशा इस मदद करता है!

माइक

+0

आप बहुत बहुत धन्यवाद !!! यह बहुत उपयोगी था! – yeahumok

+0

कूल, खुश मैं मदद कर सकता था। :-) –

+0

आपको यह नहीं पता होगा कि दस्तावेज़ को सीधे प्रिंट करने के बजाय प्रिंट संवाद कैसे दिखाया जाए ... क्या होगा? – yeahumok

1

महत्वपूर्ण सुधार प्रिंटर का चयन करें, उदाहरण के लिए के लिए कोड है:

var printers = System.Drawing.Printing.PrinterSettings.InstalledPrinters; 

int printerIndex = 0; 

foreach(String s in printers) 
{ 
    if (s.Equals("Name of Printer")) 
    { 
     break; 
    } 
    printerIndex++; 
} 

xlWorkBook.PrintOut(Type.Missing, Type.Missing, Type.Missing, Type.Missing,printers[printerIndex], Type.Missing, Type.Missing, Type.Missing); 
संबंधित मुद्दे