Domanda

Sto scrivendo uno script Perl / Tk che visualizza i fogli di lavoro di Excel usando lo script di esempio ss2tk dal modulo Spreadsheet :: Read. Non completa due decimali ma la funzione da Foglio di calcolo :: XLSX :: Utility2007 termina con due decimali. Perché? Sto cercando di utilizzare quella seconda funzione come caratteristica del mio programma per offrire la conversione dei fogli di lavoro visualizzati in file CSV.

È stato utile?

Soluzione

Vedo che sei riuscito a ottenere una risposta su PerlMonks con l'aiuto di frieduck (qualsiasi relazione con friedo ?), Quindi lo sto collegando a beneficio della gente SO.

Per riassumere, fondamentalmente si è scoperto che gli interni di Spreadsheet :: XLSX :: Utility2007 stavano applicando automaticamente un formato di 2 decimali al momento del recupero dei valori della cella. Le due soluzioni proposte sono state:

  1. Modifica del modo in cui il modulo genera i tipi di celle (rendili tutti predefiniti ) modificando gli interni XLSX.
  2. Modifica del modo in cui il modulo tratta le celle caricate dal foglio di calcolo (trattandole come avere il valore non formattato dal foglio di calcolo originale), anche modificando gli interni.

Ad ogni modo, è stato anche menzionato che probabilmente sarebbe meglio definire un sottotitolo local per eseguire il comportamento modificato, in modo che non ci siano brutte sorprese derivanti dalla modifica del modulo sul posto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top