2015-04-19 12 views
5

Ho usato xlsxwriter per un po 'e lo trovo molto utile. L'ho usato per molteplici scopi come la convalida dei dati personalizzati, i formati personalizzati ecc. Tuttavia ci sono due cose che non sono in grado di eseguire.Come applicare il formato come 'Testo' e 'Contabilità' usando xlsxwriter

  1. formato impostato di una cella in "testo" e non in "generale". ho provato le apis write_string, write_blank ma applicano sempre il formato generale

  2. formato impostato come contabilità. ho provato add_format ({ 'num_format': '#, ###'}. ma questo imposta semplicemente il formato come 'personalizzato' invece di contabilità

Aiutateci

+0

Hai letto http://xlsxwriter.readthedocs.org/en/latest/format.html#set_num_format? – jonrsharpe

risposta

8
  1. Per impostare. un formato di cella per text è necessario applicare un formato text alla cella (proprio come in Excel). per fare questo si imposta la proprietà num_format del formato da '@'.
  2. Se si imposta un formato stringa come #,### poi questo verrà generalmente visualizzato in Excel come un formato custom anche se equivale a uno di le categorie di formattazione incorporate come accountancy. Questo è lo stesso comportamento di Excel.

Per ottenere uno dei formati incorporati è necessario utilizzare un formato index anziché una stringa. La tabella nello num_format section of the docs mostra gli indici disponibili e i loro formati di stringa equivalenti. Per accountancy è necessario utilizzare uno degli indici di formato simile alla contabilità, come 44 (_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)). L'esempio seguente mostra entrambi questi:

import xlsxwriter 

workbook = xlsxwriter.Workbook('test.xlsx') 
worksheet = workbook.add_worksheet() 

worksheet.set_column('A:A', 20) 

format1 = workbook.add_format({'num_format': '@'}) 
format2 = workbook.add_format({'num_format': 44}) 

worksheet.write(0, 0, 1234) 
worksheet.write(1, 0, 1234, format1) 
worksheet.write(2, 0, 1234, format2) 

workbook.close() 

uscita:

enter image description here

+0

Grazie mille ... anche all'autore .. :) sei un salvatore di vita – user1906450

Problemi correlati