dkangel000039 Δημοσ. 12 Αυγούστου 2020 Δημοσ. 12 Αυγούστου 2020 (επεξεργασμένο) Καλησπερα Εχω φτιαξει ενα πολυ απλο προγραμματακι με html+javascript που ο χρηστης συμπληρωνει σε ημερησια βαση μερικα forms. Μετα απο καθε submit και βασικες εφαρμογες DOM τρεχουν διαφορα functions που βγαζουν συνολα κλπ κλπ που χρειαζομαι. Τα αποτελεσματα των συνολων αποθηκευονται σε objects τα οποια με τη σειρα τους αποθηκευονται σε arrays τα οποια τελικα αποθηκευονται σε local storage. Ψαχνω τον πιο απλο τροπο για να κανω extract τα objects σε excel. Αν τυχον υπαρχει οποιαδηποτε εμπειρια ή προταση θα ηταν καλοδεχουμενη let allMornings = JSON.parse(localStorage.getItem('MorningList')) || [ ]; let morningInput = { ......... } allMornings.push(morningInput); localStorage.setItem('MorningList', JSON.stringify(allMornings) ); document.addEventListener('DOMContentLoaded', ()=>{ document.getElementById('btn').addEventListener('click', addMorning); Επεξ/σία 12 Αυγούστου 2020 από dkangel000039
k33theod Δημοσ. 12 Αυγούστου 2020 Δημοσ. 12 Αυγούστου 2020 Η javascript στον Browser δεν έχει πρόσβαση στο filesystem του υπολογιστή οπότε δεν γίνεται. Μία λύση είναι να στείλεις τα data σε backend, το οποίο μπορεί να τρέχει σε localhost και το backend να τα αποθηκεύει όπου θες. Θα έλεγα πρώτα σε database
Xdanger Δημοσ. 13 Αυγούστου 2020 Δημοσ. 13 Αυγούστου 2020 Ο ποιο απλός τρόπος είναι να φτιάξεις csv ή tab delimited αρχείο και μετά να το κάνεις download και να το ανοίξεις με το excel. Αν θες να φτιάξεις excel απευθείας δες αυτό https://github.com/SheetJS/sheetjs 1
elpenor Δημοσ. 13 Αυγούστου 2020 Δημοσ. 13 Αυγούστου 2020 (επεξεργασμένο) Στις 12/8/2020 στις 1:26 ΜΜ, k33theod είπε Η javascript στον Browser δεν έχει πρόσβαση στο filesystem του υπολογιστή οπότε δεν γίνεται. Μία λύση είναι να στείλεις τα data σε backend, το οποίο μπορεί να τρέχει σε localhost και το backend να τα αποθηκεύει όπου θες. Θα έλεγα πρώτα σε database Μπορείς να κάνεις download το αρχείο. @dkangel000039 Εδώ ένα πρόχειρο παράδειγμα που φτιάχνει η js ένα csv (που ανοίγει το excel) και το κάνει download στο pc σου. Κάνε view source και αντέγραψε τον κώδικα γιατί δεν μπορώ να βρω τρόπο να τον βάλω ωραία στο insomnia. Αλλιώς κάνε τον copy από το spoiler που έχω από κάτω. Η λύση αυτή δεν χρειάζεται server, μπορείς να τρέξεις το αρχείο html με double click από τα windows και να πάρεις το αρχείο. Spoiler <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>title</title> </head> <body> <script> const multilinehtmlString = `col1,col2,col3,col4 data11,data12,data13,data14 data21,data22,data23,data24`; function download(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } // Start file download. download("csvfile.csv",multilinehtmlString); </script> </body> </html> Για να μετατρέψεις το json σε csv μπορείς να δοκιμάσεις κάτι τέτοιο (copy paste από stackoverflow δεν το έχω δοκιμάσει). Spoiler const items = json3.items const replacer = (key, value) => value === null ? '' : value // specify how you want to handle null values here const header = Object.keys(items[0]) let csv = items.map(row => header.map(fieldName => JSON.stringify(row[fieldName], replacer)).join(',')) csv.unshift(header.join(',')) csv = csv.join('\r\n') Επεξ/σία 13 Αυγούστου 2020 από elpenor 1
dkangel000039 Δημοσ. 24 Αυγούστου 2020 Μέλος Δημοσ. 24 Αυγούστου 2020 Στις 13/8/2020 στις 5:12 ΜΜ, elpenor είπε Μπορείς να κάνεις download το αρχείο. @dkangel000039 Εδώ ένα πρόχειρο παράδειγμα που φτιάχνει η js ένα csv (που ανοίγει το excel) και το κάνει download στο pc σου. Κάνε view source και αντέγραψε τον κώδικα γιατί δεν μπορώ να βρω τρόπο να τον βάλω ωραία στο insomnia. Αλλιώς κάνε τον copy από το spoiler που έχω από κάτω. Η λύση αυτή δεν χρειάζεται server, μπορείς να τρέξεις το αρχείο html με double click από τα windows και να πάρεις το αρχείο. Εμφάνιση κρυμμένου περιεχομένου <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>title</title> </head> <body> <script> const multilinehtmlString = `col1,col2,col3,col4 data11,data12,data13,data14 data21,data22,data23,data24`; function download(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } // Start file download. download("csvfile.csv",multilinehtmlString); </script> </body> </html> Για να μετατρέψεις το json σε csv μπορείς να δοκιμάσεις κάτι τέτοιο (copy paste από stackoverflow δεν το έχω δοκιμάσει). Εμφάνιση κρυμμένου περιεχομένου const items = json3.items const replacer = (key, value) => value === null ? '' : value // specify how you want to handle null values here const header = Object.keys(items[0]) let csv = items.map(row => header.map(fieldName => JSON.stringify(row[fieldName], replacer)).join(',')) csv.unshift(header.join(',')) csv = csv.join('\r\n') ευχαριστω πολυ για τις απαντησεις, το καταφερα τελικα κανοντας το csv και τρεχοντας το με excel βασει του παραδειγματος θενκ γιου! 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα