militarist Δημοσ. 10 Φεβρουαρίου 2016 Share Δημοσ. 10 Φεβρουαρίου 2016 Έχω φτιάξει ένα app που πέρνει μία τιμή απο ένα excel και το κανει paste σε ένα αλλο online tool. Με το παρακατω πέρνω την τιμή: workbook = Workbook.getWorkbook(App.file); Sheet sheet = workbook.getSheet(1); Cell cell1 = sheet.getCell(4, 27); System.out.println(cell1.getContents() ); Με το παρακάτω κάνω paste: psess.GetPS().SendKeys((cell1).getContents(), 8, 18); Μερικες φορές η τιμή ειναι με δεκαδικά. Επειδή δεν μπορώ να επέμβω στο excel, πώς μπορώ να κάνω το tool να αγνοήση τα δεκαδικά? Ελπίζω να είμαι κατανοητός , αν όχι συγνώμη είμαι καινούργιος στον κόσμο του Java. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Moderators Kercyn Δημοσ. 10 Φεβρουαρίου 2016 Moderators Share Δημοσ. 10 Φεβρουαρίου 2016 Μπορείς να αποθηκεύσεις την τιμή που θες σε Integer. Υπάρχουν επίσης και floor/ceiling μέθοδοι αν θες στρογγυλοποιήσεις. 2 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
militarist Δημοσ. 10 Φεβρουαρίου 2016 Μέλος Share Δημοσ. 10 Φεβρουαρίου 2016 Άν θα ήθελα να τα αγνοησω τελείως? πχ: το 2.3 να το κανο 2 ? Κάτι βρήκα για round? Άλλα δεν ξέρω πώς να το κάνω. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Moderators Kercyn Δημοσ. 10 Φεβρουαρίου 2016 Moderators Share Δημοσ. 10 Φεβρουαρίου 2016 Μα αυτό σου λέω, αν αποθηκεύσεις την τιμή που διαβάζεις σε Integer δε θα έχεις δεκαδικά. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
militarist Δημοσ. 10 Φεβρουαρίου 2016 Μέλος Share Δημοσ. 10 Φεβρουαρίου 2016 Μα αυτό σου λέω, αν αποθηκεύσεις την τιμή που διαβάζεις σε Integer δε θα έχεις δεκαδικά. Συγνώμη επειδή αυτό δεν ξέρω να το κάνω μήπως μπορείσ να μου δώσεις κάποιο tutorial? Έψαξα στο google άλλα χάθηκα είναι η αλήθεια...... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Moderators Kercyn Δημοσ. 10 Φεβρουαρίου 2016 Moderators Share Δημοσ. 10 Φεβρουαρίου 2016 Όπως βλέπω εδώ η getContents σου επιστρέφει string. Αντί να κάνεις print κατ' ευθείαν τα contents του κελιού, μπορείς να κάνεις κάτι τέτοιο: int CellValue = Integer.parseInt(cell1.getContents()); Έτσι θα αποθηκεύσεις το ακέραιο μέρος στο CellValue για να το χρησιμοποιήσεις μετά όπως θες. http://www.tutorialspoint.com/java/number_parseint.htm Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
M2000 Δημοσ. 10 Φεβρουαρίου 2016 Share Δημοσ. 10 Φεβρουαρίου 2016 είναι αδύνατον να μην υπάρχει Int( ) συνάρτηση http://www.techonthenet.com/excel/formulas/int.php To cStr() το κάνει αλφαριθμητικό, το Val( ) σε νούμερο cStr(Int(Val( ) ) ) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Moderators Kercyn Δημοσ. 10 Φεβρουαρίου 2016 Moderators Share Δημοσ. 10 Φεβρουαρίου 2016 Αφού λέει ότι δε μπορεί να πειράξει το excel... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
militarist Δημοσ. 10 Φεβρουαρίου 2016 Μέλος Share Δημοσ. 10 Φεβρουαρίου 2016 Δυστιχος το excel μου έρχεται κλειδωμένο. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
M2000 Δημοσ. 10 Φεβρουαρίου 2016 Share Δημοσ. 10 Φεβρουαρίου 2016 Οκ, δεν είδα ότι ήταν java... Έριξα μια ματιά. Αν χρησιμοποιήσει το Parse μπορεί να φάει exception (το οποίο μπορεί να μην επιθυμεί), αλλά δείτε εδώ. Κάποιος δίνει κώδικα για μετατροπή str σε int. http://stackoverflow.com/questions/5585779/converting-string-to-int-in-java public static int strToInt( String str ){ int i = 0; int num = 0; boolean isNeg = false; //Check for negative sign; if it's there, set the isNeg flag if (str.charAt(0) == '-') { isNeg = true; i = 1; } //Process each character of the string; while( i < str.length()) { num *= 10; num += str.charAt(i++) - '0'; //Minus the ASCII code of '0' to get the value of the charAt(i++). } if (isNeg) num = -num; return num; } Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
warlock9_0 Δημοσ. 10 Φεβρουαρίου 2016 Share Δημοσ. 10 Φεβρουαρίου 2016 αυτό δεν τρώει exception δηλαδή δεν χρειάζεται να ανακαλύψει τον τροχό ξανά, γι αυτόν το λόγο υπάρχει η parseInt Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Moderators Kercyn Δημοσ. 10 Φεβρουαρίου 2016 Moderators Share Δημοσ. 10 Φεβρουαρίου 2016 https://docs.oracle.com/javase/7/docs/api/java/lang/String.html "A String represents a string in the UTF-16 format" Ο κώδικας που έβαλες δουλεύει με ASCII. Δεν ξέρω (και για να είμαι ειλικρινής δε με νοιάζει κιόλας) αν έτσι θα δουλεύει, αλλά για ποιο λόγο να φτιάξει δική του συνάρτηση γι' αυτό; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
militarist Δημοσ. 10 Φεβρουαρίου 2016 Μέλος Share Δημοσ. 10 Φεβρουαρίου 2016 Ευχαριστώ όλους για τις απαντήσεις, αυριο θα δοκιμάσω και θα σας πώ. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
M2000 Δημοσ. 11 Φεβρουαρίου 2016 Share Δημοσ. 11 Φεβρουαρίου 2016 Kercyn σε όλα τα συστήματα το ίδιο νούμερο έχει το μηδέν το 48! Το comment στη γραμμή που λέει για ASCII είναι βλακεία! Το παραβλέπουμε! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
militarist Δημοσ. 12 Φεβρουαρίου 2016 Μέλος Share Δημοσ. 12 Φεβρουαρίου 2016 (επεξεργασμένο) Τελικά έλυσα το πρόβλημα με το παρακάτω: Cell cell4 = sheet.getCell(3, 7); String number3 = cell4.getContents().split("\\.")[0].replaceAll("\\,",""); System.out.println(number3); Cell cell5 = sheet.getCell(3, 7); String number3 = cell5.getContents().split("\\.")[0].replaceAll("\\,",""); System.out.println(number4); Επεξ/σία 12 Φεβρουαρίου 2016 από militarist Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα