Должны быть какие-то правила. Пользователю, видимо, это нужно объяснить. А, если он напишет то, что Вы как разработчик не предусмотрели? А в случае Экселя слишком много свободы.
Reading .xlsx files:
intended to process .xlsx files as a data table, which assumes the following:
assumes the first row contains header names
assumes the next rows contain values in the same columns as where the header names are supplied
only values are processed, anything else is ignored (formulas, layout, graphics, charts, ...)
the entire shared string table is loaded in memory (warning: could be large for big spreadsheets with a lot of different values)
supports .xlsx files without shared string table
worksheet data itself is read on the fly without the need to buffer data in memory
2 methods are provided
a simple method that allows the application to iterate trough rows and cells
an advanced method (with less overhead) which calls callback functions for each cell and after each row
Writing .xlsx files:
intended for writing data tables as .xlsx files, which assumes the following:
only support for writing data (no support for formulas, layout, graphics, charts, ...)
no support for multiple worksheets (only one worksheet per file)
on the fly file generation without the need to buffer data in memory
no support for shared strings (all values are written as inline strings)
Возможно и никакого форматирования там нет.