Dec 9, 2012 at 5:11 PM
Edited Dec 10, 2012 at 9:15 AM
Thanks for reply.
I think I found the solution:
1. In method PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort we need to set also 0-bit, not only 3-bit (0x09) and to add UTF-8 to UTF-16 conversion:
$data = pack('vC', $ln, 0x09); // Line #447
$data .= self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); // Line #450
2. While calculation of first formatted character in method PHPExcel_Writer_Excel5_Worksheet::close we need to consider the encoding:
$str_len = PHPExcel_Shared_String::CountCharacters($cVal->getPlainText(), 'UTF-8'); // Line #427
$str_pos += PHPExcel_Shared_String::CountCharacters($element->getText(), 'UTF-8'); // Line #440
Need to test, but it works on my file.
Also I found few little mistakes:
1. Is Named Ranges supported in source of List type in Data validation by Excel5_Writer? When I try to set it, I get the empty source in file.
2. When I want to set width of column, I get width less than I want on 0.71:
$objSheet->getColumnDimension('A')->setWidth( 10 ); // it will be 9.29
3. Method PHPExcel_Calculation::getInstance()->translateFormulaToEnglish
returns wrong name when the local name of function is a part of other local name. For example, conversion of "ЕСЛИ" to "IF" has "ЕСЛAND" as result.
4. Also it's logical to inherit the cell font formatting by Rich-Text object.
And thanks a lot for your great project!