ExcelWriter data column that is too big for a single cell - officewriter

i have an ExcelWriter xlsx template that is populated via a datatable. Everything works perfectly but one column in the datatable is too large for the cell. The column is actually varchar(max) populated from text box area in a web application so the column can have multiple sentences in it. I tried to setup the xlsx template to do word wrap - and that works (kinda), but the text is still only in one cell. Is there a way to split or wrap the column across multiple cells vertically?

Text wrap is Excel's way of dealing with this issue. The other options are to alter your data before passing it to Excel Template so that your cell value is actually multiple rows in your data source.
If neither of these options are possible, A less desirable way might be to do some formula trickery where you store your large cell value in one cell and break it up into other cells with formulas such as LEFT MID or RIGHT
See http://www.excel-easy.com/functions/text-functions.html for some examples

Related

Border not display on next row for split-column-data

I have a model xml data:
Model data
I have been using split-column-data: to display column dynamically as I have some data with multiple different column. The thing is the border between each rows is missing. <?split-column-data:Test?> <?TestValue?> This is how i display the Test column dynamically. below are my RTF template from word
RTF template in words
I keep getting this:
Row border is missing
And the ideal out would be: ideal output with row border missing
Sorry for my bad english, but I need help please. Thanks
If you have already tried all the standard boarder stuff in Word, you can insert a nested table for each field (table within a table). Change the parent cell to have 0 margins/padding. Keep the for-each/end-for-each in the parent table.

How can I use Footnotes with Oracle BI Publisher

I am putting a footnote in an .rtf template, and before generating a report it seems ok,
but when I load an XML sample and preview the document (.pdf or .doc etc.)
the footnote content goes right into the body of my report (example is in the picture).
I've tried using text boxes, but it doesn't help.
I've also tried just making a paragraph look as a footnote, but since I have a lot of
tags in my template, the footnote-looking text doesn't stay at the
bottom of the page.
and I can't use footers/headers because I need only one footnote at one page.
Try to draw a borderless table with one column and two rows where the first row has fixed hight (exactly) of the size of body, and the second row fixed hight of the size you want to reserve for the footer. Then you place your xml data in those two rows of the table the same way as you put it on the page. I use that for different forms when the position of the data is fixed. There are also other table/row/column properties that you might want to use.

RDLC, too large table is cut but displayed at the same side without line break

I encounter a problem creating my RDLC file.
I fill a table using a dataset and my report is in landscape view.
When I export to word format, I want the table to be cut and the other parts of the table displayed below the first part. Unfortunately for the moment, my table is cut but the other parts of the table are displayed on the side of the first part:
So even if I defined a fix size (Letter size) for my report, when I try to print the word export, the size changes due to table size.
Have you ever encountered the same problem?
'Split the table and put the split part below the original part' i.e 'wrapping' tables. is not a standard behaviour.
I think you'll have to do that manually, i.e. put two tables in the report, with the same dataset, one below the other.

Libreoffice Calc reference cell with a specific progression

I have a collumn with this contend inside:
=sheet1.F8
=sheet1.F15
=sheet1.F22
Normally in the excel I select the three cells and pull down, excel understand the logic and the next cell above will be "sheet1.F29". But if I do this in Libreoffice it puts "sheet1.F11".
Do you have any idea of how to do this ? (I have several sheets like this logic and I'd like to use Libreoffice instead Excel).
I found a workaround and replying here:
It is setting the reference to “F11” because the first row contains a reference to F8 and the new entry is 3 rows beneath this i.e., the offset is based on the first cell of the selection, thus 8+3=11. A workaround is to use the addresses of the destination and combine this with the INDIRECT() function. For example, create a separate column with “Sheet1.F8”, “Sheet1.F15”, and Sheet1.F22” etc. Highlight and drag this column of values to obtain a column of correct address references. Then adjacent to this use (given “Sheet1.F8” in sheet 2 cell A1) =INDIRECT(A1) in B1. Now drag this down the B column to obtain the required values.

Can Spreadsheet::WriteExcel change the format of a cell without modifying its contents?

In my Perl script I use the Spreadsheet::WriteExcel module to create an Excel file. The file contains a table, the size of which is dynamic - i.e., I don't know how many rows it will have until the table is already created. I would like the last row of the table to have a slightly different format (e.g., its bottom border to be "==="). Unfortunately, I cannot apply this (different) format at the time when the row is being created, since at that time I don't know yet that it will be the last row.
So, my question is: can I change the format of an already existing cell without changing its contents? If I pass undef as cell value to the $worksheet->write() method it just overwrites the contents of the cell with a blank cell.
The direct answer to your question is that you cannot modify the format of an already written cell in Spreadsheet::WriteExcel. This is a planned feature for Excel::Writer::XLSX but it isn't in place yet.
So you will need to workaround it in some way such as buffering the table data until you are ready to write it or buffering a row at a time and only writing it when you have a new row.
Or you could turn on compatiblilty_mode() and overwrite the last row with new formatted data. Note, this approach isn't recommended without compatibility_mode() since Excel will complain about duplicate and or missing data in the file.
Alternatively, setting the row format, as pointed out by #bvr, might work for you.
Unless your data is too big for memory, you can put your table data in an array first, then loop over the array to output. You'll have access to any element in the array to begin with, so you'll know what the last row will be and what kinds of data will be in it.
You can set the format to any row with set_row method without changing the data.