Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Προσθήκη excel.dll σε .exe

Îåêßíçóå áðü ôï ìÝëïò dtakis. Τελευταία δημοσίευση από το μέλος manosB στις 10-02-2009, 14:54. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  10-02-2009, 12:48 48333

    Προσθήκη excel.dll σε .exe

    Έχω γράψει μια εφαρμογή PC σε C# που κάνει export .xls/.xlsx αρχεία η οποία δουλεύει μια χαρά στο PC μου ή σε κάποιο άλλο PC που έχει εγκατεστημένο το Office 2007 αλλά όχι σε κάποιο PC που έχει εγκατεστημένο το Office 2003 ή τπτ...

    Πως μπορώ να κάνω embed το .dll του Excel 12 (Office 2007) και τη λειτουργικότητά του μέσα στο .exe ώστε να μην το αναζητεί στο μηχάνημα που γίνεται deploy;

    Δημοσίευση στην κατηγορία: ,
  •  10-02-2009, 13:06 48335 σε απάντηση της 48333

    Απ: Προσθήκη excel.dll σε .exe

    Δεν μπορείς να κάνεις distribute to excel με την εφαρμογή σου γιατί απλά δεν είναι distributable. Η εφαρμογή σου εφόσον έχει referenced to excel 12 δεν μπορεί να λειτουργήσει με άλλη έκδοση. Αν θέλεις να λειτουργεί χωρίς να είναι εγκατεστημένο το excel, πρέπει να το κάνεις με δικό σου κώδικα χωρίς την χρήση του Excel ή χρησιμοποιώντας  κάποιο 3rd party component.


    Μπλουγουράς Γιάννης
    Wizcom O.E.
  •  10-02-2009, 13:30 48336 σε απάντηση της 48335

    Απ: Προσθήκη excel.dll σε .exe

    Το περίμενα ;) Thanx Γιάννη!

  •  10-02-2009, 13:33 48337 σε απάντηση της 48333

    Απ: Προσθήκη excel.dll σε .exe

    Έτσι όπως πας δεν γίνεται αλλά... Όπως θα ξέρεις το xlxs είναι Office Open XML standard. Αυτό σημαίνει ότι μπορείς να το χειριστείς σαν XML και να το διαμορφώσεις. Ευτυχώς κάποιοι το έχουν κάνει για σένα. Δες ένα κλασσικό άρθρο στο codeproject για να καταλάβεις τι γίνεται: http://www.codeproject.com/KB/office/ExcelPackage.aspx. Τέρμα τα κολπάκια με τoν unmanaged code που προκαλεί πονοκεφάλους και δεν συντηρείται με τίποτα!!!!.
    Manos
  •  10-02-2009, 14:17 48340 σε απάντηση της 48337

    Απ: Προσθήκη excel.dll σε .exe

    Το OOXML είναι καλό όταν δουλεύεις με Excel 2007 ή όταν έχεις εγκαταστήσει τα κατάλληλα updates στο Excel 2003. Εναλλακτικά μπορείς να χρησιμοποιήσεις το XMLSS format το οποίο κατάγεται από το Excel 2002 και το Excel web component. Είναι καθαρό και αρκετά απλό XML, αν και με περιορισμένες δυνατότητες (π.χ. δεν έχει ... PivotTables!) αλλά διαβάζεται άνετα και από το το 2003 και το 2007.
    Για να δεις τη μορφή του αρχείου αυτού μπορείς να σώσεις οποιοδήποτε spreadsheet από το Save As, Other Formats, XML SpreadSheet 2003. Αν εξαιρέσεις τα διάφορα style, η δομή του είναι αρκετά απλή, π.χ.
    <?xml version="1.0"?>
    <?mso-application progid="Excel.Sheet"?>
    <ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
    <ss:Worksheet ss:Name="My Sheet">
    <ss:Table>
    <ss:Row >
    <ss:Data ss:Type="String">This is a string</ss:Cell>
       <ss:Data ss:Type="Number">45</ss:Cell>
      </ss:Row>
    </ss:Table>
    </ss:Worksheet>
    </ss:Workbook>


    Χρειάζεται προσοχή στο <!mso-application > tag γιατί από αυτό αναγνωρίζουν τα Windows ότι πρόκειται για αρχείο Excel. Επίσης, χρειάζεται προσοχή με τις ημερομηνίες, καθώς το Excel δεν καταλαβαίνει ημερομηνίες πριν την 1/1/1900. Αν θέλεις να αφήσεις κενό ένα πεδίο ημερομηνίας καλύτερα να το παραλείψεις εντελώς.

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-02-2009, 14:29 48341 σε απάντηση της 48340

    Απ: Προσθήκη excel.dll σε .exe

    Υ.Γ. Και ΠΟΛΛΗ προσοχή στα format αριθμών και ημερομηνιών!

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-02-2009, 14:54 48342 σε απάντηση της 48340

    Απ: Προσθήκη excel.dll σε .exe

    Δεν διαφωνώ με την απλότητα του XMLSS format αλλά μιας και είναι καινούργια εφαρμογή καλύτερα να χρησιμοποιήσει OOXML που είναι το μέλλον. Όσο αφορά τους χρήστες που δεν έχουν Excel 2007 για να δουν τα παραγόμενα αρχεία ο δωρεάν Excel 2007 Viewer είναι η ενδεδειγμένη λύση. (view, print, copy)
    Manos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems