Указание формульных полей при импорте данных в рабочий лист
Возможные сценарии использования
Вы можете указать формульные поля при импорте данных в свой рабочий лист, используя метод ImportTableOptions.setFormulas(). Этот метод принимает логический массив, где значение true означает, что поле является формульным. Например, если третье поле является формульным, то третье значение в массиве будет true.
Указание формульных полей при импорте данных в рабочий лист
Пожалуйста, ознакомьтесь с следующим образцом кода, который объясняет, как указать формульное поле при импорте данных в рабочий лист. Пожалуйста, ознакомьтесь с выходным файлом Excel, сгенерированным кодом, и скриншотом, показывающим воздействие кода на выходной файл Excel.
Образец кода
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
import java.util.ArrayList; | |
import com.aspose.cells.*; | |
import AsposeCellsExamples.Utils; | |
public class SpecifyFormulaFieldsWhileImportingDataToWorksheet { | |
static String outDir = Utils.Get_OutputDirectory(); | |
//User-defined class to hold data items | |
public class DataItems | |
{ | |
private int m_Number1; | |
private int m_Number2; | |
private String m_Formula1; | |
private String m_Formula2; | |
public DataItems(int num1, int num2, String form1, String form2) | |
{ | |
this.m_Number1 = num1; | |
this.m_Number2 = num2; | |
this.m_Formula1 = form1; | |
this.m_Formula2 = form2; | |
} | |
public int getNumber1() | |
{ | |
return this.m_Number1; | |
} | |
public int getNumber2() | |
{ | |
return this.m_Number2; | |
} | |
public String getFormula1() | |
{ | |
return this.m_Formula1; | |
} | |
public String getFormula2() | |
{ | |
return this.m_Formula2; | |
} | |
}//DataItems | |
public void Run() throws Exception | |
{ | |
System.out.println("Aspose.Cells for Java Version: " + CellsHelper.getVersion()); | |
//List to hold data items | |
ArrayList<DataItems> dis = new ArrayList<DataItems>(); | |
//Define 1st data item and add it in list | |
int num1 = 2002; | |
int num2 = 3502; | |
String form1 = "=SUM(A2,B2)"; | |
String form2 = "=HYPERLINK(\"https://www.aspose.com\",\"Aspose Website\")"; | |
DataItems di = new DataItems(num1, num2, form1, form2); | |
dis.add(di); | |
//Define 2nd data item and add it in list | |
num1 = 2003; | |
num2 = 3503; | |
form1 = "=SUM(A3,B3)"; | |
form2 = "=HYPERLINK(\"https://www.aspose.com\",\"Aspose Website\")"; | |
di = new DataItems(num1, num2, form1, form2); | |
dis.add(di); | |
//Define 3rd data item and add it in list | |
num1 = 2004; | |
num2 = 3504; | |
form1 = "=SUM(A4,B4)"; | |
form2 = "=HYPERLINK(\"https://www.aspose.com\",\"Aspose Website\")"; | |
di = new DataItems(num1, num2, form1, form2); | |
dis.add(di); | |
//Define 4th data item and add it in list | |
num1 = 2005; | |
num2 = 3505; | |
form1 = "=SUM(A5,B5)"; | |
form2 = "=HYPERLINK(\"https://www.aspose.com\",\"Aspose Website\")"; | |
di = new DataItems(num1, num2, form1, form2); | |
dis.add(di); | |
//Create workbook object | |
Workbook wb = new Workbook(); | |
//Access first worksheet | |
Worksheet ws = wb.getWorksheets().get(0); | |
//Specify import table options | |
ImportTableOptions opts = new ImportTableOptions(); | |
//Specify which field is formula field, here the last two fields are formula fields | |
//opts.setColumnIndexes(new int[] {3, 0, 2, 1}); | |
opts.setFormulas(new boolean[] {false, false, true, true }); | |
//Import custom objects | |
ws.getCells().importCustomObjects(dis, 0, 0, opts); | |
//Calculate formula | |
wb.calculateFormula(); | |
//Autofit columns | |
ws.autoFitColumns(); | |
//Save the output Excel file | |
wb.save(outDir + "outputSpecifyFormulaFieldsWhileImportingDataToWorksheet.xlsx"); | |
// Print the message | |
System.out.println("SpecifyFormulaFieldsWhileImportingDataToWorksheet executed successfully."); | |
} | |
public static void main(String[] args) throws Exception { | |
new SpecifyFormulaFieldsWhileImportingDataToWorksheet().Run(); | |
} | |
} |