// Create a new workbook Workbook workbook = new Workbook(); // Please uncomment the following code and ensure you fill in the correct API Endpoint, API Key, and Model Name. // Workbook.setAIModelRequestHandler(new OpenAIModelRequestHandler(apiEndpoint, apiKey, modelName)); IWorksheet sheet = workbook.getWorksheets().get(0); sheet.setName("AI Query Demo"); sheet.getColumns().get(0).setColumnWidth(57); sheet.getColumns().get(1).setColumnWidth(20); sheet.getColumns().get(2).setColumnWidth(48); sheet.getRange("A1:C1").merge(); sheet.getRange("A1").setValue("Example: Customer Product Reviews and Classification"); sheet.getRange("A1").getFont().setBold(true); sheet.getRange("A1").getFont().setSize(16); sheet.getRange("A1").getFont().setColor(Color.GetWhite()); sheet.getRange("A1").getInterior().setColor(Color.FromArgb(90, 126, 158)); sheet.getRange("A1").setHorizontalAlignment(HorizontalAlignment.Center); sheet.getRange("A1").setVerticalAlignment(VerticalAlignment.Center); sheet.getRange("A1").setRowHeight(35); sheet.getRange("A3").setValue("Formula:"); sheet.getRange("A3").getFont().setBold(true); sheet.getRange("A3").getFont().setSize(11); sheet.getRange("A3").getInterior().setColor(Color.FromArgb(217, 225, 242)); sheet.getRange("B3").setValue("=AI.QUERY(\"evaluate these reviews\", A6:A13, \"based on these categories\",B5:C5)"); sheet.getRange("B3").getFont().setItalic(true); sheet.getRange("B3").getFont().setColor(Color.FromArgb(68, 114, 196)); sheet.getRange("A5:C5").setValue(new Object[][]{ {"Taco Truck Reviews", "Positive or negative", "Topics"} }); sheet.getRange("A5:C5").getFont().setBold(true); sheet.getRange("A5:C5").getInterior().setColor(Color.FromArgb(155, 194, 230)); sheet.getRange("A5:C5").setHorizontalAlignment(HorizontalAlignment.Center); sheet.getRange("A6:A13").setValue(new Object[][]{ {"Great tacos with fresh ingredients! Definitely coming back for more."}, {"The service was slow, but the food was worth the wait."}, {"Not impressed. The tacos were bland and lacked flavor."}, {"Amazing variety of salsas and toppings. Loved it!"}, {"The truck was clean and the staff was friendly."}, {"Overpriced for the portion size. Won't be returning."}, {"The tortillas were soggy and the meat was dry."}, {"Best taco truck in town! Highly recommend the carne asada."} }); sheet.getRange("B6").setFormula2("=AI.QUERY(\"evaluate these reviews\", A6:A13, \"based on these categories\",B5:C5)"); sheet.getRange("A6:C13").getFont().setSize(11); sheet.getRange("A6:C13").setHorizontalAlignment(HorizontalAlignment.Center); sheet.getRange("A6:C13").getBorders().setLineStyle(BorderLineStyle.Medium); sheet.getRange("A6:C13").getBorders().setColor(Color.FromArgb(200, 200, 200)); workbook.calculate(); // As AI functions operate on an asynchronous computation function, // it is necessary to await the completion of their calculation processes. workbook.waitForCalculationToFinish(); // Set print settings sheet.getPageSetup().setFitToPagesTall(1); sheet.getPageSetup().setFitToPagesWide(1); sheet.getPageSetup().setIsPercentScale(false); sheet.getPageSetup().setOrientation(PageOrientation.Landscape); // Save to a pdf file workbook.save("Query.pdf");