Difference between revisions of "Documentation/DevGuide/Spreadsheets/Example: Editing Spreadsheet Cells"

From Apache OpenOffice Wiki
Jump to: navigation, search
(added setting of background and foreground (text) color)
m (added spaces for correct formatting)
Line 41: Line 41:
 
       com.sun.star.text.XTextCursor xTextCursor = xCellText.createTextCursor();
 
       com.sun.star.text.XTextCursor xTextCursor = xCellText.createTextCursor();
 
       xCellText.insertString(xTextCursor, aText, false);
 
       xCellText.insertString(xTextCursor, aText, false);
 
+
     
 
       //--------------------
 
       //--------------------
 
       // set the cell's background color
 
       // set the cell's background color
 
       //--------------------
 
       //--------------------
 
+
     
 
       Integer bg_color = new Integer(0x008000);
 
       Integer bg_color = new Integer(0x008000);
 
       xPropSet = (com.sun.star.beans.XPropertySet)
 
       xPropSet = (com.sun.star.beans.XPropertySet)
 
         UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class,
 
         UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class,
 
         xCell);
 
         xCell);
 
+
     
 
       xPropSet.setPropertyValue("CellBackColor", bg_color);
 
       xPropSet.setPropertyValue("CellBackColor", bg_color);
 
+
     
 
       //--------------------
 
       //--------------------
 
       // set the cell's foreground (text) color
 
       // set the cell's foreground (text) color
 
       //--------------------
 
       //--------------------
 
+
     
 
       Integer fg_color = new Integer(0x800000);
 
       Integer fg_color = new Integer(0x800000);
 
       xPropSet = (com.sun.star.beans.XPropertySet) UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class,
 
       xPropSet = (com.sun.star.beans.XPropertySet) UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class,
 
       xCell);
 
       xCell);
 
+
     
 
       xPropSet.setPropertyValue("CharColor", fg_color);
 
       xPropSet.setPropertyValue("CharColor", fg_color);
 
   }
 
   }

Revision as of 19:37, 1 October 2009



The method insertSpreadsheet() returns a com.sun.star.sheet.XSpreadsheet interface. This interface is passed to the method below, which shows how to access and modify the content and formatting of single cells. The interface com.sun.star.sheet.XSpreadsheet returned by insertSpreadsheet() is derived from com.sun.star.table.XCellRange. By working with it, cells can be accessed immediately using getCellByPosition():

 void cellWork(XSpreadsheet xRange) {
 
     com.sun.star.beans.XPropertySet xPropSet = null;
     com.sun.star.table.XCell xCell = null;
     
     // Access and modify a VALUE CELL
     xCell = xRange.getCellByPosition(0, 0);
     // Set cell value.
     xCell.setValue(1234);
     
     // Get cell value.
     double nDblValue = xCell.getValue() * 2;
     xRange.getCellByPosition(0, 1).setValue(nDblValue);
     
     // Create a FORMULA CELL
     xCell = xRange.getCellByPosition(0, 2);
     // Set formula string.
     xCell.setFormula("=1/0");
     
     // Get error type.
     boolean bValid = (xCell.getError() == 0);
     // Get formula string.
     String aText = "The formula " + xCell.getFormula() + " is ";
     aText += bValid ? "valid." : "erroneous.";
     
     // Insert a TEXT CELL using the XText interface
     xCell = xRange.getCellByPosition(0, 3);
     com.sun.star.text.XText xCellText = (com.sun.star.text.XText)
         UnoRuntime.queryInterface(com.sun.star.text.XText.class, xCell);
     com.sun.star.text.XTextCursor xTextCursor = xCellText.createTextCursor();
     xCellText.insertString(xTextCursor, aText, false);
     
     //--------------------
     // set the cell's background color
     //--------------------
     
     Integer bg_color = new Integer(0x008000);
     xPropSet = (com.sun.star.beans.XPropertySet)
       UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class,
       xCell);
     
     xPropSet.setPropertyValue("CellBackColor", bg_color);
     
     //--------------------
     // set the cell's foreground (text) color
     //--------------------
     
     Integer fg_color = new Integer(0x800000);
     xPropSet = (com.sun.star.beans.XPropertySet) UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class,
     xCell);
     
     xPropSet.setPropertyValue("CharColor", fg_color);
 }


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages