Я посмотрел пример Excel примеров последней версии Java Com Bridge (Jacob-1.16) и был немного разочарован, потому что он создает и работает в совершенно новом файле Excel. Прекрасно.Dispatch sheet = Dispatch.get(workbook, "Worksheets").toDispatch();
Dispatch.call(sheet, "Select", new Object[]{"Sheet2"}).toDispatch();
< /code>
Этот код сгенерирует следующее исключение:
com.jacob.comfailexception: не удается отобразить имя, чтобы Dismid: Worksheits < /p>
2.; Не удалось сохранить рабочую книгу: < /p>
// Save the open workbook as "C:\jacob-1.16-M1\Test1.xls" file:
Dispatch.call(workbook, "SaveAs", new Variant("C:\\jacob-1.16-M1\\Test1.xls"),new Variant("1"));
< /code>
Этот код сгенерирует следующее исключение:
com.jacob.comfailexception: не удается отобразить имя, чтобы Dismid: saveas < /p>
3.; Я не знаю, как начать со следующих простых, но очень распространенных операций Excel, в отношении синтаксиса Java для Java Com Bridge: < /p>
(включенная здесь код Excel VBA, который я пытаюсь реализовать в Java) < /p>
Выбор одного ячейки:
hange (a4 »). /> Скопируйте выбранную диапазон в буфер обмена: < /p>
Selection.Copy
< /code>
Выберите многоклеточный диапазон для копирования в: < /p>
Range("D9:D17").Select
< /code>
Вставьте содержимое буфера обмена на выбор: < /p>
ActiveSheet.Paste
< /code>
Переименование листа: < /p>
Sheets("Sheet2").Select
Sheets("Sheet2").Name = "MySheet2"
< /code>
Ячейки формата, пример для текста: < /p>
Selection.NumberFormat = "@"
< /code>
Удалить строки: < /p>
Rows(intI).Select
Selection.Delete Shift:=xlUp
< /code>
и, возможно, ... < /p>
Сортировать выбор: < /p>
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
< /code>
Найдите последнюю ячейку в листе: < /p>
ActiveSheet.Cells(65536, 1).End(xlUp).Select
intLastCellRow = Selection.Row
< /code>
Спасибо за помощь.import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class TestJACOBWithExcel {
public static void main(String[] args) {
String strInputDoc = "C:\\jacob-1.16-M1\\JACOBWithExcel.xls"; // file to be opened.
ComThread.InitSTA();
ActiveXComponent xl = new ActiveXComponent("Excel.Application"); // Instance of application object created.
try {
// Get Excel application object properties in 2 ways:
System.out.println("version=" + xl.getProperty("Version"));
System.out.println("version=" + Dispatch.get(xl, "Version"));
// Make Excel instance visible:
Dispatch.put(xl, "Visible", new Variant(true));
// Open XLS file, get the workbooks object required for access:
Dispatch workbook = xl.getProperty("Workbooks").toDispatch();
Dispatch.call(workbook, "Open", new Variant(strInputDoc),new Variant("1"));
Dispatch sheet = Dispatch.get(workbook, "Worksheets").toDispatch();
Dispatch.call(sheet, "Select", new Object[]{"Sheet2"}).toDispatch();
// put in a value in cell A22 and place a a formula in cell A23:
Dispatch a22 = Dispatch.invoke(sheet, "Range", Dispatch.Get, new Object[] { "A22" }, new int[1]).toDispatch();
Dispatch a23 = Dispatch.invoke(sheet, "Range", Dispatch.Get, new Object[] { "A23" }, new int[1]).toDispatch();
Dispatch.put(a22, "Value", "123.456");
Dispatch.put(a23, "Formula", "=A22*2");
// Get values from cells A1 and A2
System.out.println("a22 from excel:" + Dispatch.get(a22, "Value"));
System.out.println("a23 from excel:" + Dispatch.get(a23, "Value"));
// Save the open workbook as "C:\jacob-1.16-M1\Test1.xls" file:
Dispatch.call(workbook, "SaveAs", new Variant("C:\\jacob-1.16-M1\\Test1.xls"),new Variant("1"));
// Close the Excel workbook without saving:
Variant saveYesNo = new Variant(false);
Dispatch.call(workbook, "Close", saveYesNo);
} catch (Exception e) {
e.printStackTrace();
} finally {
// Quit Excel:
// xl.invoke("Quit", new Variant[] {});
ComThread.Release();
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/879 ... jacob-1-16
Доступ к листам, сохранение файлов Excel, Java, Java Com Bridge (Jacob Jacob-1.16) ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Доступ к листам, сохранение файлов Excel, Java, Java Com Bridge (Jacob Jacob-1.16)
Anonymous » » в форуме JAVA - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Доступ к таблицам, сохранение файлов Excel, Java, Java Com Bridge (Jacob jacob-1.16)
Anonymous » » в форуме JAVA - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Jacob com.jacob.com.comfailException: не удается составить имя, чтобы Dismid:
Anonymous » » в форуме JAVA - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Jacob com.jacob.com.comfailException: не удается составить имя, чтобы Dismid:
Anonymous » » в форуме JAVA - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Pandas объединяет несколько файлов Excel в папке по заранее определенным листам
Anonymous » » в форуме Python - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-