EasyXLS
http://forum.easyxls.com/

Row and Col span when adding a chart to a sheet
http://forum.easyxls.com/viewtopic.php?f=5&t=739
Page 1 of 1

Author:  mariodagot [ Wed Oct 01, 2008 4:44 am ]
Post subject:  Row and Col span when adding a chart to a sheet

Hi,

Is there any way of know how many lines a chart spans across a sheet rows and/or columns.

For example, suppose I need to add information to a sheet after adding a chart, with 600x300 (widthxheight), how many lines (and/or columns) should I assume the chart will use?


I've tried:
Code:
ExcelChart chart = new Chart(0, 0, 600, 300);
//... some specific code



        ExcelTable xlsTable = sheet.easy_getExcelTable();
       
        int h = 0, hRows = 0;
        while (h < height) {
            if (hRows <xlsTable> -1) {
                h += xlsTable.easy_getRowAt(hRows).getHeight();
            } else {
//                h += xlsTable.getRowHeight(); // THIS DOESN'T WORK
                h += 16; // ASSUMING, Row hight is 16px
            }
            hRows++;

        }
       
        int w = 0, wColumns = 0;
        while (w < width) {
            if (wColumns <xlsTable> -1) {
                w += xlsTable.getColumnWidth(wColumns);
            } else {
                w +=  xlsTable.getColumnWidth();
            }
            wColumns++;
        }


(hRows it's the number of rows we should skip and wColumns the number of columns we should skip)

This doen't solve completly my problem. The results aren't correct.

Any ideas?


Thanks in advance
Regards

Author:  oana [ Thu Oct 02, 2008 5:58 am ]
Post subject:  Row and Col span when adding a chart to a sheet

Hi,

The chart size is not variable. For adding a chart please use ExcelWorksheet.easy_addChart(ExcelChart xlsChart, int row, int column, int width, int height) method.

Author:  mariodagot [ Thu Oct 02, 2008 8:32 am ]
Post subject: 

Hi,

Thanks for you replay.

But you don't seem to see what is my problem.

Suppose i want to create the xls with this format:
<table border="1">
<tr>
<td width="100px">Text 1 </td>
<td width="100px">Text 2 </td>
<td width="100px"></td>
<tr>
<tr>
<td width="100px">-</td>
<td width="100px"></td>
<td width="100px"></td>
<tr>
<tr>
<td colspan="2" width="200px" height="200px">Image (600x300)</td>
<td width="100px">Text 3 </td>
<tr>
<tr>
<td width="100px">Text 4 </td>
<td width="100px"></td>
<td width="100px"></td>
<tr>
</table>

Using the API i know the columns for adding Text 1, Text 2, Text 3 and the Image.
But, when I try to add:

    Text 3 - don't know wich column should I address (row is the same given for the image)

    Text 4 - don't know wich row should I address (column is the same given for the image)


What I need is a way to convert (width, height) to (#columns, #rows).


Thanks

Author:  mariodagot [ Thu Oct 30, 2008 8:32 am ]
Post subject: 

Hi,

Here's what I've found out for my problem:

Quote:
The default dimensions of a cell are: Length = 64 pixels, Height = 17 pixels.
Your chart dimensions are 600x300. In this case we suggest you to calculate the distance where your tables will be placed as follows:
- if you want to place them at the bottom of the chart do 300 / 17 = 17.64 (~18 = row number)
- if you want to place them on the right of the chart do 600 / 64 = 9.37 (~10 = column number)

If the length of the information inside your cells exceeds the default column length of 64 pixels, please set the column width manually, using setColumnWidth(int column,int columnWidth) method.


Hope this helps others.

Regards

Page 1 of 1 All times are UTC - 4 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/