acoliver 2002/10/01 12:05:44 Modified: src/documentation/xdocs/trans/es faq.xml Log: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13112 Revision Changes Path 1.2 +143 -64 jakarta-poi/src/documentation/xdocs/trans/es/faq.xml Index: faq.xml =================================================================== RCS file: /home/cvs/jakarta-poi/src/documentation/xdocs/trans/es/faq.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- faq.xml 12 Jun 2002 04:21:26 -0000 1.1 +++ faq.xml 1 Oct 2002 19:05:44 -0000 1.2 @@ -1,67 +1,64 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE faqs PUBLIC "-//APACHE//DTD FAQ V1.1//EN" "./dtd/faq-v11.dtd"> -<faqs title="Frequently Asked Questions"> +<faqs title="Preguntas M�s Frecuentes (FAQ)"> <faq> <question> - What is the HSSF "eventmodel"? + �Qu� es el "eventmodel" (modelo de evento) de HSSF? </question> <answer> - The HSSF eventmodel package is a new API for reading XLS files more efficiently. It does - require more knowledge on the part of the user, but reduces memory consumption by more than - tenfold. It is based on the AWT event model in combination with SAX. If you need read-only - access to a given XLS file, this is the best way to do it. + <p> El paquete "eventmodel" de HSSF es un nuevo API para la lectura m�s eficiente de ficheros + XML. Requiere mayor conocimiento por parte del usuario, pero reduce el consumo de memoria a + una d�cima parte. Est� basado en el modelo de eventos AWT en combinaci�n con SAX. Si necesita + acceso de s�lo-lectura a un fichero XML determinado, esta es la mejor manera de hacerlo.</p> </answer> </faq> <faq> <question> - Why can't read the document I created using Star Office 5.1? + �Por qu� no puedo leer el documento que cre� utilizando Star Office 5.1? </question> <answer> - Star Office 5.1 writes some records using the older BIFF standard. This causes some problems - with POI which supports only BIFF8. + <p>Star Office 5.1 escribe algunos registros utilizando el viejo est�ndar BIFF. + Esto provoca algunos problemas con POI que s�lo soporta BIFF8.</p> </answer> </faq> <faq> <question> - Why am I getting an exception each time I attempt to read my spreadsheet? + �Por qu� recibo una excepci�n cada vez que intento leer mi hoja de c�lculo? </question> <answer> - It's possible your spreadsheet contains a feature that is not currently supported by HSSF. - For example - spreadsheets containing cells with rich text are not currently supported. + <p>Es posible que su hoja de c�lculo contenga alguna caracter�stica que no est� + soportada actualmente por HSSF. Por ejemplo - hojas de c�lculo que contengan + celdas con formato RTF (rich text) no est�n soportadas actualmente.</p> </answer> </faq> <faq> <question> - Does HSSF support protected spreadsheets? + �Soporta HSSF hojas de c�lculo protegidas? </question> <answer> - Protecting a spreadsheet encripts it. We wont touch encription because we're not legally educated - and don't understand the full implications of trying to implement this. If you wish to have a go - at this feel free to add it as a plugin module. We wont be hosting it here however. + <p>Al proteger una hoja de c�lculo, �sta se cifra. No tocaremos el cifrado, porque no + tenemos el suficiente conocimiento legal y no estamos seguros de las implicaciones que + conllevar�a el intentar implementar esto. Si desea intentarlo, es libre de hacerlo y + de a�adirlo como un m�dulo enchufable (plugin). Sin embargo, no lo guardaremos aqu�.</p> </answer> </faq> <faq> <question> - How do you tell if a field contains a date with HSSF? + �C�mo se sabe si un campo contiene una fecha con HSSF? </question> <answer> - Excel stores dates as numbers therefore the only way to determine if a cell is - actually stored as a date is to look at the formatting. This solution from - Jason Hoffman: - <p> - Okay, here is a little code I used to determine if the cell was a number or - date, and then format appropriately. I hope it helps. I keep meaning to - submit a patch with the helper method below.... but just haven't had a - chance. - </p> + <p>Excel almacena las fechas como n�meros. As� la �nica manera para determinar + si una celda est� realmente almacenada como una fecha consiste en mirar su formato. + Hay un m�todo de ayuda (helper) en HSSFDateUtil (desde la distribuci�n 1.7.0-dev) + que lo comprueba. Gracias a Jason Hoffman por proporcionar la soluci�n.</p> <source> -/////// code snippet //////////// + case HSSFCell.CELL_TYPE_NUMERIC: double d = cell.getNumericCellValue(); // test if a date! - if (isCellDateFormatted(cell)) { + if (HSSFDateUtil.isCellDateFormatted(cell)) { // format in form of M/D/YY cal.setTime(HSSFDateUtil.getJavaDate(d)); cellText = @@ -70,44 +67,126 @@ cal.get(Calendar.DAY_OF_MONTH) + "/" + cellText; } -/////// end code snippet //////////// -// HELPER METHOD BELOW TO DETERMINE IF DATE + </source> + </answer> + </faq> + <faq> + <question> + Estoy intentando ver un fichero XLS enviado como flujo (stream) desde un servlet y tengo + complicaciones. �Cu�l es el problema? + </question> + <answer> + <p> + El problema normalmente se manifiesta como un mont�n de caracteres basura + en la pantalla. El problema persiste incluso aunque hayas configurado el tipo mime + correcto. + </p> + <p> + La respuesta breve es: no dependas de IE para mostrar un fichero binario. + Escribe un documento adjunto como es debido si lo env�as a trav�s de un servlet. + Toda versi�n de IE tiene diferentes fallos (bugs) en este sentido. + </p> + <p> + El problema en la mayor�a de las versiones de IE reside en que no utiliza el tipo mime + de la respuesta HTTP para determinar el tipo de fichero; en su lugar utiliza la extensi�n + del fichero en la petici�n. As� podr�a a�adir un <strong>.xls</strong> a su cadena de petici�n. + Por ejemplo: <em>http://yourserver.com/myServelet.xls?param1=xx</em>. Esto se consigue + f�cilmente a trav�s del mapeo de URL en cualquier contenedor servlet. A veces una + petici�n como + <em>http://yourserver.com/myServelet?param1=xx&dummy=file.xls</em> + tambi�n funciona. + </p> + <p> + Para garantizar la correcta apertura del fichero en Excel desde IE, escribe + tu fichero a un fichero temporal bajo su raiz web desde tu servlet. Env�a entonces + una respuesta http al navegador para que haga una redirecci�n en el lado del cliente + a tu fichero temporal. (Si haces una redirecci�n en el lado del servidor utilizando + RequestDispatcher, tendr�s que a�adir .xls a la petici�n como se ha mendionado m�s + arriba) + </p> + <p> + Date cuenta de que cuando pides un documento que se abre con un manejador externo, + IE a veces realiza dos peticiones al servidor web. As� que si tu proceso generador + es pesado, tiene sentido escribir a un fichero temporal, para que peticiones + m�ltiples utilicen el fichero est�tico. + </p> + <p> + Nada de esto pertenece a Excel. El mismo problema ocurre cuando intentas general + cualquier fichero binario din�micamente a un cliente IE. Por ejemplo, si generas + ficheros pdf utilizando + <link href="http://xml.apache.org/fop">FOP</link>, + te encontrar�s con los mismos problemas. + </p> + <!-- Gracias a Avik por la respuesta --> + </answer> + </faq> + <faq> + <question> + Quiero dar formato a una celda (Data format of a cell) de una hoja excel como + ###,###,###.#### o ###,###,###.0000. �Es posible hacer esto con POI? + </question> + <answer> + <p> + HSSF no soporta todav�a formatos de datos personalizados, sin embargo, + deber�a ser una facilidad razonablemente sencilla de a�adir y aceptaremos + gustosos contribuciones en este �rea. + </p> + <p> + Estos son los formatos incluidos que soporta: + </p> + <p> + <link href="http://jakarta.apache.org/poi/javadocs/javasrc/org/apache/poi/hssf/usermodel/HSSFDataFormat_java.html#HSSFDataFormat">http://jakarta.apache.org/poi/javadocs/javasrc/org/apache/poi/hssf/usermodel/HSSFDataFormat_java.html#HSSFDataFormat</link> + </p> + </answer> + </faq> + <faq> + <question> + �C�mo a�ado un borde alrededor de una celda unida (merged)? + </question> + <answer> + <p> + A�ade celdas vac�as alrededor de donde las celdas hubieran estado normalmente y + configura los bordes individualmente para cada celda. + Probablemente mejoraremos HSSF en el futuro para facilitar este proceso. + </p> + </answer> + </faq> + <faq> + <question> + Intent� escribir valores en celdas as� como cambiar el nombre de la hoja Excel + en mi lengua nativa, pero no pude hacerlo. :( + </question> + <answer> + <p> + Por defecto HSSF utiliza valores de celdas y nombres de hoja en unicode comprimido, + asi que para soportar la localizaci�n deber�as utilizar Unicode. + Para hacerlo deber�as configurarlo manualmente: + </p> + <source> + + // + // para el nombre de la hoja + // + HSSFWorkbook wb = new HSSFWorkbook(); + HSSFSheet s = wb.createSheet(); + wb.setSheetName( 0, "SomeUnicodeName", HSSFWorkbook.ENCODING_UTF_16 ); + + + // + // para el valor de la celda + // + HSSFRow r = s.createRow( 0 ); + HSSFCell c = r.createCell( (short)0 ); + c.setCellType( HSSFCell.CELL_TYPE_STRING ); + c.setEncoding( HSSFCell.ENCODING_UTF_16 ); + c.setCellValue( "\u0422\u0435\u0441\u0442\u043E\u0432\u0430\u044F" ); -// method to determine if the cell is a date, versus a number... -public static boolean isCellDateFormatted(HSSFCell cell) { - boolean bDate = false; - - double d = cell.getNumericCellValue(); - if ( HSSFDateUtil.isValidExcelDate(d) ) { - HSSFCellStyle style = cell.getCellStyle(); - int i = style.getDataFormat(); - switch(i) { - // Internal Date Formats as described on page 427 in - // Microsoft Excel Dev's Kit... - case 0x0e: - case 0x0f: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x2d: - case 0x2e: - case 0x2f: - bDate = true; - break; - - default: - bDate = false; - break; - } - } - return bDate; - } </source> + <p> + Aseg�rate de que haces la llamada a setEncoding() antes de llamar a setCellValue(), + si no, lo que le pases no ser� interpretado correctamente. + </p> </answer> </faq> </faqs>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
