If you get more into diffing these files, convert to canonical XML
with xmllint and then use a regular line-based text diff tool[1]

$ xmllint --c14n one.xml > 1.xml
$ xmllint --c14n two.xml > 2.xml
$ diff -u 1.xml 2.xml

[1] http://superuser.com/a/81036/303069

On Thu, Jan 14, 2016 at 10:30 PM, Javen O'Neal <[email protected]> wrote:
> Apparently changing chart types is a lot more complicated than
> replacing <c:lineChart> with <c:barChart> and <c:grouping
> val="standard"/> with <c:grouping val="stacked"/>.
> Excel might be adding, removing, and modifying more tags than
> absolutely necessary when changing the chart types (for example, if
> <c:invertIfNegative val="0"/> is not a required tag, it wouldn't need
> to be added). The schema might tell us if some tags are optional, and
> therefore allow us to ignore most of this diff.
>
> OpenOffice, LibreOffice, and other applications might not generate
> quite as large a diff as Excel did here. Don't invest too much time
> reading the diff below without seeing if a different application can
> give us a smaller set of changes to look for. If other applications
> give the same length diff, then having POI support changing chart
> types might not be a one-weekend project :)
>
> line.xml http://pastebin.com/B8bDCByq
> stackedbar.xml http://pastebin.com/ykkGMANE
> short diff http://pastebin.com/dxh7DPwR
> full diff http://pastebin.com/diff/ykkGMANE
>
> Formatted using http://www.xmlformatter.net/
>
> On Thu, Jan 14, 2016 at 7:50 PM, Javen O'Neal <[email protected]> wrote:
>> Find-replace all ">" with ">\n", then run the diff. Alternatively, use a
>> text editor with HTML/XML pretty printing.
>>
>> On Jan 14, 2016 19:40, "Ken Hausam" <[email protected]> wrote:
>>>
>>> Thanks Nick. I'm a novice here. Didn't even know that .xlsx were zips of
>>> XML files.
>>>
>>> After changing chart type, only one file changed: the chart1.xml file
>>> location in the xl/charts/ directory. I've attached the before (line.xml)
>>> and after (stackedbar.xml) files. The diff isn't enormous, but it doesn't
>>> seem trivial either. I couldn't list the actual diff since the XML is all on
>>> one line which makes the diff hard to view as a text diff.
>>>
>>> I already tried a very simple change: changing <c:lineChart> to
>>> <c:barChart> and changing <c:grouping val="standard"/> to <c:grouping
>>> val="stacked"/> . No luck. Excel complained with "file format is not valid"
>>> when I tried to open it.
>>>
>>> Don't know if it makes a difference, but I was using Mac Excel 2011 to
>>> change the chart type.
>>>
>>> Thanks,
>>> Ken
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Wednesday, January 13, 2016 2:47 AM, Nick Burch <[email protected]>
>>> wrote:
>>>
>>>
>>> On Sat, 9 Jan 2016, Ken Hausam wrote:
>>>
>>> > I am using XSSFChart and associated classes to create a line chart using
>>> > Apache POI. Works great! Thanks. My question is, is there an easy way to
>>> > change the chart type programmatically from a line chart to a stacked
>>> > bar chart? I looked quickly at the CTChart class and associated CT
>>> > classes and noticed that the various chart types had their own class.
>>> > This makes me think that it's not as easy as just flipping a chart type
>>> > attribute somewhere, but figured it couldn't hurt to ask.
>>>
>>>
>>> I haven't looked at the chart stuff recently, so I can't answer off the
>>> top of my head. What I'd suggest you do is firstly create a simple file in
>>> Excel, with one sheet, with a few data points, and one style of chart.
>>> Save that. Next, change the type, and save-as that. Next, unzip both .xlsx
>>> files (rename to .zip and unpack). Now, compare the xml, especially for
>>> sheets and charts, and see what differs. Post a summary of that, and we'll
>>> help if we can!
>>>
>>> Nick
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to