Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλησπερα

Εχω φτιαξει ενα πολυ απλο προγραμματακι με 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);

 

 

Επεξ/σία από dkangel000039
Δημοσ.

Η javascript στον Browser δεν έχει πρόσβαση στο filesystem του υπολογιστή οπότε δεν γίνεται. Μία λύση είναι να στείλεις τα data σε backend, το οποίο μπορεί να τρέχει σε  localhost και το backend να τα αποθηκεύει όπου θες. Θα έλεγα πρώτα σε database

Δημοσ. (επεξεργασμένο)
Στις 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(filenametext) {
            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')

 

Επεξ/σία από elpenor
  • Thanks 1
  • 2 εβδομάδες αργότερα...
Δημοσ.
Στις 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(filenametext) {
            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 βασει του παραδειγματος

θενκ γιου!

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...