When building a pivot from a source range, resolve each source column's
StyleIndex to its numFmtId and stamp it onto the cacheField. Without
this, a date-formatted column (numFmtId 164, yyyy-mm-dd) rendered in
the pivot as raw OADate serials (45306, 45337, ...) instead of the
intended date format. Reuses ResolveColumnNumFmtIds already used for
DataField.NumberFormatId.
- Add longText="1" to sharedItems when any string exceeds 255 chars
- Fix pivotCaches element order: InsertBefore fileRecoveryPr instead of AppendChild
- Add layout mode support (compact/outline/tabular) for pivot tables
- Add RefreshPivotCellsForView for re-materializing pivot cells before HTML rendering
Split the 7,635-line monolithic PivotTableHelper.cs into 7 partial
class files by functional area: core, render, cache, definition,
readback, set, and parse. Pure structural reorganization with no
API or behavioral changes.