Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с Excel документами 
V
    Опции темы
clamp
Дата 23.12.2009, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 10.6.2008
Где: Планета Земля

Репутация: нет
Всего: нет



Добрый день форумчане. Есть такой вопрос. 
Имеется Excel документ с 8 столбцами, мне нужно вытянуть данные из 2 и 4 столбца ))) 
Можно ли такое реализовать на Java?

проблема с настройкой библиотек и открытием Excel документа решена!!


Имеется новая проблемка!! как определить количество строк в Excel ? HELP 

Это сообщение отредактировал(а) clamp - 24.12.2009, 14:59
PM WWW ICQ   Вверх
ivanovpv
Дата 23.12.2009, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



Легко и непринужденно - см. сюда


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
clamp
Дата 23.12.2009, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 10.6.2008
Где: Планета Земля

Репутация: нет
Всего: нет



ivanovpv,  спасибо. а описания на русском нету ?))))) 

Попытался скачать библиотеку с сайта что ты мне показал, получаются битые архивы. 

Это сообщение отредактировал(а) clamp - 23.12.2009, 12:29
PM WWW ICQ   Вверх
clamp
Дата 23.12.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 10.6.2008
Где: Планета Земля

Репутация: нет
Всего: нет



кое как получилось скачать файл poi-src-3.6-20091214.zip
подскажите что с ним дальше делать  smile 

МОЖЕт кто работал с poi от apache

Это сообщение отредактировал(а) clamp - 23.12.2009, 13:35
PM WWW ICQ   Вверх
Vladus
Дата 23.12.2009, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 1.2.2008

Репутация: 3
Всего: 4



clamp, приветсвую. 
Я немного работал. Вот несколько функций (немного комментов, сделанных на ходу и куча проверок, которые вам могут не пригодиться, а мне были нужны)
Код


    private POIFSFileSystem fileSystem;
    private HSSFWorkbook workbook;
    private HSSFSheet sheet;

    // открыть нужный лист; file - имя файла, numList - номер листа
    public HSSFSheet getSheet(String file, int numList) {
        sheet = null;
        try {
            FileInputStream fileInputStream = new FileInputStream(file);
            fileSystem = new POIFSFileSystem(fileInputStream);
            workbook = new HSSFWorkbook(fileSystem);
            sheet = workbook.getSheetAt(numList);
        } catch (IOException e) {
            logger.error("Error while opening resourse file");
            logger.error(e.getStackTrace().toString());
        }
        return sheet;
    }
    
    // взять значение с ячейки; row, col - понятно, trim - тримать ли строковое значение
    public String getCellValue(int row, int col, boolean trim) {
        String value = "";
        if(isCellExists(row, col)) {
            if (sheet.getRow(row).getCell(col).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                value = sheet.getRow(row).getCell(col).getRichStringCellValue().getString();
                if (trim) {
                    value = value.trim();
                }
            } else if (sheet.getRow(row).getCell(col).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                value = String.valueOf(sheet.getRow(row).getCell(col).getNumericCellValue());
            } 
        }
        return value;
    }
    
    // записать значение в ячейку; 
    public void setCellValue(int row, int col, String value) {
        if (isRowExists(row)) {
            if (isCellExists(row, col)) {
                sheet.getRow(row).getCell(col).setCellValue(new HSSFRichTextString(value));
            } else {
                sheet.getRow(row).createCell(col).setCellValue(new HSSFRichTextString(value));
            }
        } else {
            sheet.createRow(row).createCell(col).setCellValue(new HSSFRichTextString(value));
        }
    }

    private boolean isRowExists(int row) {
        return sheet.getRow(row) != null;
    }

    private boolean isCellExists(int row, int col) {
        return sheet.getRow(row) != null && sheet.getRow(row).getCell(col) != null;
    }
    


Это сообщение отредактировал(а) Vladus - 23.12.2009, 13:59
PM MAIL   Вверх
clamp
Дата 23.12.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 10.6.2008
Где: Планета Земля

Репутация: нет
Всего: нет



Vladus, добрый день. Спасибо за примеры уверен что они мне пригодятся.
Так вот в чем причина, я так понял что не правильно наверное скопировал библиотеку от apache 
 я взял архив распаковала его в lib моей java. 

Vladus, Подскажи как правильно все настроить чтобы можно использовать твоими примерами )))) 
PM WWW ICQ   Вверх
Vladus
Дата 23.12.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 1.2.2008

Репутация: 3
Всего: 4



clamp,
Цитата

не правильно наверное скопировал библиотеку от apache 

 smile
Цитата

я взял архив распаковала его в lib моей java. 

что понимается под java? jdk?
Цитата

Подскажи как правильно все настроить чтобы можно использовать твоими примерами

Я не экстрасенс. Откуда я знаю как приложение запускается, из среды(какой?) или из консоли? класс пас правильный? И что вообще не работает, что не получается?

PM MAIL   Вверх
clamp
Дата 23.12.2009, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 10.6.2008
Где: Планета Земля

Репутация: нет
Всего: нет



Цитата
что понимается под java? jdk?



jdk1.6.0_10

Цитата
Я не экстрасенс. Откуда я знаю как приложение запускается, из среды(какой?)


Програмки пишу на Eclipse, хотел все это применить к аплетам.

у меня не определяются 
Код

private POIFSFileSystem fileSystem;
private HSSFWorkbook workbook;
private HSSFSheet sheet;


я так понимаю мне нужно сделать import org.apache.poi.....  ?
но когда набираю poi показывает что таких библиотек нет

PM WWW ICQ   Вверх
Vladus
Дата 23.12.2009, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 1.2.2008

Репутация: 3
Всего: 4



Цитата

jdk1.6.0_10

тогда подкладывать библиотеку нужно в java/jre/lib/ext, но лучше подключить эти либы к проекту (как в эклипсе это делать не помню, а под рукой его нет)
Цитата

я так понимаю мне нужно сделать import org.apache.poi.....  ?

совершенно верно,
Код

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
...

PM MAIL   Вверх
ivanovpv
Дата 23.12.2009, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



Цитата(clamp @  23.12.2009,  08:44 Найти цитируемый пост)
ivanovpv,  спасибо. а описания на русском нету ?))))) 


Если вы серьезно собираетесь программировать - то без языка никуда! Учите smile

Цитата(clamp @  23.12.2009,  08:44 Найти цитируемый пост)
Попытался скачать библиотеку с сайта что ты мне показал, получаются битые архивы. 

Не знаю как вы там качаете... Я для проверки качнул - все отлично - качайте здесь


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
clamp
Дата 24.12.2009, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 10.6.2008
Где: Планета Земля

Репутация: нет
Всего: нет



[quote]
Vladus, 
Цитата
тогда подкладывать библиотеку нужно в java/jre/lib/ext

  я подкладывал именно в эту папку. не помогло сечас примонтирую к проекту )))) 



ivanovpv, 
Цитата

Если вы серьезно собираетесь программировать - то без языка никуда! Учите 


почему же мы все должны учить буржуйский, неужели у нас нет программистов, нужно писать свои мануалы на русском чтобы за бугром тоже мучались с переводом )))))

Цитата
е знаю как вы там качаете... Я для проверки качнул - все отлично - качайте здесь

Спасибо. я скачал именно с этого сайта просто выбрал другой сервер.
PM WWW ICQ   Вверх
clamp
Дата 24.12.2009, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 10.6.2008
Где: Планета Земля

Репутация: нет
Всего: нет



Сделал следующие. Распаковал скачанный zip архив. нашел там папку org запоковал ее в zip архив присоеденил к проекту. 
Теперь когда прописываю 
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

у меня можно только прописать 
import org.apache.poi.hssf.usermodel.*;

import org.apache.poi.poifs.filesystem.*;
 вот так. 
Наверное в связи с этим у меня теперь вылазиют ошибки сдесь 
    private POIFSFileSystem fileSystem;
    private HSSFWorkbook workbook;
    private HSSFSheet sheet;



Это сообщение отредактировал(а) clamp - 24.12.2009, 08:40
PM WWW ICQ   Вверх
ivanovpv
Дата 24.12.2009, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



Цитата(clamp @  24.12.2009,  06:35 Найти цитируемый пост)
почему же мы все должны учить буржуйский, неужели у нас нет программистов, нужно писать свои мануалы на русском чтобы за бугром тоже мучались с переводом )))))

Все просто: у врачей латынь - у нас программеров английский


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
Vladus
Дата 24.12.2009, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 1.2.2008

Репутация: 3
Всего: 4



clamp
Цитата

  я подкладывал именно в эту папку. не помогло

странно, должно было заработать. впрочем, хорошо, что не заработало - так делать не нужно
Цитата

Сделал следующие. Распаковал скачанный zip архив. нашел там папку org запоковал ее в zip архив присоеденил к проекту. 

 smile 
вот качайте тут
распаковывайте и добавьте к проекту poi-3.6-20091214.jar и все должно быть хорошо
а про доки на русском - это просто смешно  smile 


PM MAIL   Вверх
clamp
Дата 24.12.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 10.6.2008
Где: Планета Земля

Репутация: нет
Всего: нет



 smile  smile  smile  smile 
Vladus,  ОГРОМНЫЙ РАХМЕТ. Все заработало. Буду теперь мучиться дальше )))) 
Твои примеры как раз пригодились 

Это сообщение отредактировал(а) clamp - 24.12.2009, 14:41
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0618 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.