Difference between revisions of "Documentation/DevGuide/Spreadsheets/Search and Replace"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 16: Line 16:
 
The following example replaces all occurrences of "cell" with "text":  
 
The following example replaces all occurrences of "cell" with "text":  
 
<!--[SOURCE:Spreadsheet/SpreadsheetSample.java]-->
 
<!--[SOURCE:Spreadsheet/SpreadsheetSample.java]-->
 
+
<syntaxhighlight lang="java">
 
   // --- Replace text in all cells. ---
 
   // --- Replace text in all cells. ---
 
   com.sun.star.util.XReplaceable xReplace = (com.sun.star.util.XReplaceable)
 
   com.sun.star.util.XReplaceable xReplace = (com.sun.star.util.XReplaceable)
Line 27: Line 27:
 
   int nCount = xReplace.replaceAll(xReplaceDesc);
 
   int nCount = xReplace.replaceAll(xReplaceDesc);
 
   System.out.println("Search text replaced " + nCount + " times.");   
 
   System.out.println("Search text replaced " + nCount + " times.");   
 
+
</syntaxhighlight>
 
{{Note|The property <tt>SearchWords</tt> has a different meaning in spreadsheets: If true, only cells containing the whole search text and nothing else is found. If false, cells containing the search string as a substring is found.}}
 
{{Note|The property <tt>SearchWords</tt> has a different meaning in spreadsheets: If true, only cells containing the whole search text and nothing else is found. If false, cells containing the search string as a substring is found.}}
  

Revision as of 15:48, 3 January 2021



The cell range interface com.sun.star.util.XReplaceable is derived from com.sun.star.util.XSearchable providing search and replacement of text.

  • The method createReplaceDescriptor() creates a new descriptor that contains all data for the replace action. It returns the interface com.sun.star.util.XReplaceDescriptor of this descriptor.
  • The method replaceAll() performs a replacement in all cells according to the passed replace descriptor.

The following example replaces all occurrences of "cell" with "text":

  // --- Replace text in all cells. ---
  com.sun.star.util.XReplaceable xReplace = (com.sun.star.util.XReplaceable)
      UnoRuntime.queryInterface(com.sun.star.util.XReplaceable.class, xCellRange);
  com.sun.star.util.XReplaceDescriptor xReplaceDesc = xReplace.createReplaceDescriptor();
  xReplaceDesc.setSearchString("cell");
  xReplaceDesc.setReplaceString("text");
  // property SearchWords searches for whole cells!
  xReplaceDesc.setPropertyValue("SearchWords", new Boolean(false));
  int nCount = xReplace.replaceAll(xReplaceDesc);
  System.out.println("Search text replaced " + nCount + " times.");
Documentation note.png The property SearchWords has a different meaning in spreadsheets: If true, only cells containing the whole search text and nothing else is found. If false, cells containing the search string as a substring is found.
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages