From 940b4d1848e8c70ab7642901a68594e8016caffc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 18:51:28 +0200 Subject: Adding upstream version 1:7.0.4. Signed-off-by: Daniel Baumann --- .../ExportSheetsToHTML/exportsheetstohtml.js | 88 ++++++++++++++++++++++ .../ExportSheetsToHTML/parcel-descriptor.xml | 32 ++++++++ 2 files changed, 120 insertions(+) create mode 100644 scripting/examples/javascript/ExportSheetsToHTML/exportsheetstohtml.js create mode 100644 scripting/examples/javascript/ExportSheetsToHTML/parcel-descriptor.xml (limited to 'scripting/examples/javascript/ExportSheetsToHTML') diff --git a/scripting/examples/javascript/ExportSheetsToHTML/exportsheetstohtml.js b/scripting/examples/javascript/ExportSheetsToHTML/exportsheetstohtml.js new file mode 100644 index 000000000..37f9e5afb --- /dev/null +++ b/scripting/examples/javascript/ExportSheetsToHTML/exportsheetstohtml.js @@ -0,0 +1,88 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +// When this script is run on an existing, saved, spreadsheet, +// eg. /home/testuser/myspreadsheet.sxc, the script will export +// each sheet to a separate html file, +// eg. /home/testuser/myspreadsheet_sheet1.html, +// /home/testuser/myspreadsheet_sheet2.html etc +importClass(Packages.com.sun.star.uno.UnoRuntime); +importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); +importClass(Packages.com.sun.star.container.XIndexAccess); +importClass(Packages.com.sun.star.beans.XPropertySet); +importClass(Packages.com.sun.star.beans.PropertyValue); +importClass(Packages.com.sun.star.util.XModifiable); +importClass(Packages.com.sun.star.frame.XStorable); +importClass(Packages.com.sun.star.frame.XModel); +importClass(Packages.com.sun.star.uno.AnyConverter); +importClass(Packages.com.sun.star.uno.Type); + +importClass(java.lang.System); + +//get the document object from the scripting context +oDoc = XSCRIPTCONTEXT.getDocument(); +//get the XSpreadsheetDocument interface from the document +xSDoc = UnoRuntime.queryInterface(XSpreadsheetDocument, oDoc); +//get the XModel interface from the document +xModel = UnoRuntime.queryInterface(XModel,oDoc); +//get the XIndexAccess interface used to access each sheet +xSheetsIndexAccess = UnoRuntime.queryInterface(XIndexAccess, xSDoc.getSheets()); +//get the XStorable interface used to save the document +xStorable = UnoRuntime.queryInterface(XStorable,xSDoc); +//get the XModifiable interface used to indicate if the document has been +//changed +xModifiable = UnoRuntime.queryInterface(XModifiable,xSDoc); + +//set up an array of PropertyValue objects used to save each sheet in the +//document +storeProps = new Array;//PropertyValue[1]; +storeProps[0] = new PropertyValue(); +storeProps[0].Name = "FilterName"; +storeProps[0].Value = "HTML (StarCalc)"; +storeUrl = xModel.getURL(); +storeUrl = storeUrl.substring(0,storeUrl.lastIndexOf('.')); + +//set only one sheet visible, and store to HTML doc +for(var i=0;i + + + + + + -- cgit v1.2.3