Can android read excel

how to read excel file in android from asset folder

In this android tutorial, You are going to learn how to read excel file in android from asset folder using Apache POI.  What is android Apache POI lib? To Read / Write Excel file (.xls or .xlsx) there are two types of library available – 1) JXL and 2) Apache POI. But the first one- Java JXL does not support the Excel 2007+ “.xlsx” format; it only supports the old BIFF (binary) “.xls” format. Apache POI supports both with a common design. We will use asset manager class to read excel file from asset folder.

I will suggest you to use POI library only. Now you have understand what to use. Let move forward, to read excel file from asset folder, first create a excel file. In excel file, you can create any number of columns and sheets. for this android example, I am using three columns name as- sno, date, details. below is sample excel data-

sno date details
1 01-09-2018 details  about 1
2 02-09-2018 details about 2
3 03-09-2018 detais about 3
4 04-09-2018 details about 4

Step by Step Process

  1. Create a excel file & put in asset folder
  2. Add POI lib dependency
  3. Read excel file in android
  4. Run the code

Create a excel file & put in asset folder

create a sample excel file as explain in above paragraph. You can create more columns and sheet. But if you are trying this code first time, so please work with three columns only. now same the file name as “myexcelsheet.xls” Go to android project directory and open your android project. Go inside folder app -> src ->main. There you will see two folder name as java and res. Now create a new folder here name as assets and put myexcelsheet.xls file inside it.

Note -: save file in .xls format only for this example. to read .xlsx file, there is slight difference in code.

Login & Download code

Add POI lib dependency in gradle

Now create a new project in android studio and add gradle dependency for apache POI library using below code

implementation "org.apache.poi:poi:3.17"
implementation "org.apache.poi:poi-ooxml:3.17"

To display excel sheet data on phone screen, I am using a simple textview. By default android studio create a textview on activity_main.xml file.

material design example

activity-main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="blueappsoftware.readexcelfile.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Excel Data below -"
        android:id="@+id/textview"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:lineSpacingExtra="2dp"
        android:gravity="center" />

</LinearLayout>

Now open java activity file – ActivityMain.java. There are three important points-

  1. initialize asset manager
  2. open excel file
  3. initialize POI file system
  4. open work book
InputStream myInput;
// initialize asset manager
AssetManager assetManager = getAssets();
//  open excel file name as myexcelsheet.xls
myInput = assetManager.open("myexcelsheet.xls");
// Create a POI File System object
POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);

// Create a workbook using the File System
HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);

// Get the first sheet from workbook
HSSFSheet mySheet = myWorkBook.getSheetAt(0);

read first excel sheet

please look at above code -at last line, there is getSheetAt(0). That means read sheet index number zero. if you have multiple sheet on excel file you can pass index of sheet. index started from 0 means first sheet.

Now it’s time to read data from row and column of the sheet. The concept is – use a loop to read row one by one. On each row- read column one by one. Apache POI library provides the method to read row and column in loop.

 // We now need something to iterate through the cells. 
 Iterator<Row> rowIter = mySheet.rowIterator();

// check if there is more row available           
HSSFRow myRow = (HSSFRow) rowIter.next();

// check if there is more column available 
HSSFCell myCell = (HSSFCell) cellIter.next();

You can read value in column using cell object. For example – myCell.toString(); below it complete code of main activity

package blueappsoftware.readexcelfile;

import android.content.res.AssetManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
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.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;

import java.io.InputStream;
import java.util.Iterator;

public class MainActivity extends AppCompatActivity {
    String TAG ="main";
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.textview);
        readExcelFileFromAssets();
    }

    public void readExcelFileFromAssets() {

        try {

            InputStream myInput;
            // initialize asset manager
            AssetManager assetManager = getAssets();
            //  open excel sheet
            myInput = assetManager.open("myexcelsheet.xls");
            // Create a POI File System object
            POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);

            // Create a workbook using the File System
            HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);

            // Get the first sheet from workbook
            HSSFSheet mySheet = myWorkBook.getSheetAt(0);

            // We now need something to iterate through the cells. 
            Iterator<Row> rowIter = mySheet.rowIterator();
            int rowno =0;
            textView.append("n");
            while (rowIter.hasNext()) {
                Log.e(TAG, " row no "+ rowno );
                HSSFRow myRow = (HSSFRow) rowIter.next();
                if(rowno !=0) {
                    Iterator<Cell> cellIter = myRow.cellIterator();
                    int colno =0;
                    String sno="", date="", det="";
                    while (cellIter.hasNext()) {
                        HSSFCell myCell = (HSSFCell) cellIter.next();
                        if (colno==0){
                            sno = myCell.toString();
                        }else if (colno==1){
                            date = myCell.toString();
                        }else if (colno==2){
                            det = myCell.toString();
                        }
                        colno++;
                        Log.e(TAG, " Index :" + myCell.getColumnIndex() + " -- " + myCell.toString());
                    }
                    textView.append( sno + " -- "+ date+ "  -- "+ det+"n");

                }
                rowno++;
            }

        } catch (Exception e) {
            Log.e(TAG, "error "+ e.toString());
        }
    }

}

Run the code

Run the code in device OR emulator. You can see in below picture, Excel sheet data is showing on Textview in android app.

how to read excel file in android

If you have any question, Please comment below.

Get more android tutorial:-

How to create PDF file in Android, Write Text, Image in PDF – Android code

How to read text file in android – read from internal/ external folder

author avatar

I am a full Stack Developer. My skills are — Flutter, Java, Android, PHP, Node.js, JavaScript, AJAX, WordPress, SQL & many more. I have developed Android App for Police department, eCommerce App, Restaurant App, Daily Bill Invoice, Daily news, Location based App etc.
If you have any query, Please WhatsApp me at +91-9144040888 Or email me at kamal.bunkar@blueappsoftware.com

Use this piece of code which can be used to open arbitrary file (not only Excel).

General idea is to get based on file mime type which Intent can handle it and then start those Intent. For sure it may happen that system doesn’t have any intents to handle it or may have several Intents. Anyway here’s general direction:

Get mime type for given filename

public String getMimeType(String filename)
{
    String extension = FileUtils.getExtension(filename);
    // Let's check the official map first. Webkit has a nice extension-to-MIME map.
    // Be sure to remove the first character from the extension, which is the "." character.
    if (extension.length() > 0)
    {
        String webkitMimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.substring(1));
        if (webkitMimeType != null)
           return webkitMimeType;
    }
  return "*/*";
 }

Then get default intent which will handle given mime type

public Intent getDefaultViewIntent(Uri uri)
{
    PackageManager pm = this.getPackageManager();
    Intent intent = new Intent(Intent.ACTION_VIEW);
    // Let's probe the intent exactly in the same way as the VIEW action
    String name=(new File(uri.getPath())).getName();
    intent.setDataAndType(uri, this.getMimeType(name));
    final List<ResolveInfo> lri = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
    if(lri.size() > 0)
        return intent;
    return null;
}

And as final step just start Intent returned by getDefaultViewIntent()

blog

Home > Creating/Reading an Excel file in Android.

Android

Its easy to store records in database via android application. But what’s the use of it when we cannot get the records on a sheet of paper.

Here’s a simple and systematic solution to get your records in an excel sheet in Android.

Excel Sheet accessing through android application in very few lines of code.

To achieve this download poi-3.7.jar or later from the following reference:-

http://www.java2s.com/Code/Jar/p/Downloadpoi37jar.htm

Note:- make sure its a jar file for eclipse.

Steps to achieve the target:-

1) Create a project in android “Exel_Example” and fill all the required details.

2) In AndroidManifest.xml file add “WRITE_EXTERNAL_STORAGE ” permission as we require to access the external storage for saving the Excel file.

<uses-permissionandroid:name=”android.permission.WRITE_EXTERNAL_STORAGE”/>

3) Add the poi-3.7.jar (or updated version) that you have downloaded from the link provided above. Add this jar to your project’s External Jars.

For that go to your project’s properties –> click on java Buildpath –> add External Jars –> Browse the jar.

4)Create a new class named “MainActivity.java”

Here we have 2 functionality to cover.

First is to save the Excel File and other is to read the contents of the Excel File.

To save a Excel file, check out the function “saveExcelFile” below

private static boolean saveExcelFile(Context context, String fileName) { // check if available and not read only if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) { Log.e(TAG, “Storage not available or read only”); return false; } boolean success = false; //New Workbook Workbook wb = new HSSFWorkbook(); Cell c = null; //Cell style for header row CellStyle cs = wb.createCellStyle(); cs.setFillForegroundColor(HSSFColor.LIME.index); cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //New Sheet Sheet sheet1 = null; sheet1 = wb.createSheet(“myOrder”); // Generate column headings Row row = sheet1.createRow(0); c = row.createCell(0); c.setCellValue(“Item Number”); c.setCellStyle(cs); c = row.createCell(1); c.setCellValue(“Quantity”); c.setCellStyle(cs); c = row.createCell(2); c.setCellValue(“Price”); c.setCellStyle(cs); sheet1.setColumnWidth(0, (15 * 500)); sheet1.setColumnWidth(1, (15 * 500)); sheet1.setColumnWidth(2, (15 * 500)); // Create a path where we will place our List of objects on external storage File file = new File(context.getExternalFilesDir(null), fileName); FileOutputStream os = null; try { os = new FileOutputStream(file); wb.write(os); Log.w(“FileUtils”, “Writing file” + file); success = true; } catch (IOException e) { Log.w(“FileUtils”, “Error writing ” + file, e); } catch (Exception e) { Log.w(“FileUtils”, “Failed to save file”, e); } finally { try { if (null != os) os.close(); } catch (Exception ex) { } } return success; }

Here we pass the file name as the parameter to the function.

Row row = sheet1.createRow(0); c = row.createCell(0); c.setCellValue(“Item Number”); c.setCellStyle(cs);

This is how we add/enter the value in the cell.

The above code will add the value “Item Number” in the 0th row and 0th column.

To read the contents of the file have a look at the function “readExcelFile” below

private static void readExcelFile(Context context, String filename) { if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) { Log.e(TAG, “Storage not available or read only”); return; } try{ // Creating Input Stream File file = new File(context.getExternalFilesDir(null), filename); FileInputStream myInput = new FileInputStream(file); // Create a POIFSFileSystem object POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput); // Create a workbook using the File System HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem); // Get the first sheet from workbook HSSFSheet mySheet = myWorkBook.getSheetAt(0); /** We now need something to iterate through the cells.**/ Iterator rowIter = mySheet.rowIterator(); while(rowIter.hasNext()){ HSSFRow myRow = (HSSFRow) rowIter.next(); Iterator cellIter = myRow.cellIterator(); while(cellIter.hasNext()){ HSSFCell myCell = (HSSFCell) cellIter.next(); Log.d(TAG, “Cell Value: ” + myCell.toString()); Toast.makeText(context, “cell Value: ” + myCell.toString(), Toast.LENGTH_SHORT).show(); } } }catch (Exception e){e.printStackTrace(); } return; }

Each and every entry in the cell will be printed in the log.

[wcp-carousel id=”10027″]

Here is the entire code.

MainActivity.java

package com.example.excel_example; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Iterator; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { Button writeExcelButton,readExcelButton; static String TAG = “ExelLog”; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); writeExcelButton = (Button) findViewById(R.id.writeExcel); writeExcelButton.setOnClickListener(this); readExcelButton = (Button) findViewById(R.id.readExcel); readExcelButton.setOnClickListener(this); } public void onClick(View v) { switch (v.getId()) { case R.id.writeExcel: saveExcelFile(this,”myExcel.xls”); break; case R.id.readExcel: readExcelFile(this,”myExcel.xls”); break; } } private static boolean saveExcelFile(Context context, String fileName) { // check if available and not read only if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) { Log.e(TAG, “Storage not available or read only”); return false; } boolean success = false; //New Workbook Workbook wb = new HSSFWorkbook(); Cell c = null; //Cell style for header row CellStyle cs = wb.createCellStyle(); cs.setFillForegroundColor(HSSFColor.LIME.index); cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //New Sheet Sheet sheet1 = null; sheet1 = wb.createSheet(“myOrder”); // Generate column headings Row row = sheet1.createRow(0); c = row.createCell(0); c.setCellValue(“Item Number”); c.setCellStyle(cs); c = row.createCell(1); c.setCellValue(“Quantity”); c.setCellStyle(cs); c = row.createCell(2); c.setCellValue(“Price”); c.setCellStyle(cs); sheet1.setColumnWidth(0, (15 * 500)); sheet1.setColumnWidth(1, (15 * 500)); sheet1.setColumnWidth(2, (15 * 500)); // Create a path where we will place our List of objects on external storage File file = new File(context.getExternalFilesDir(null), fileName); FileOutputStream os = null; try { os = new FileOutputStream(file); wb.write(os); Log.w(“FileUtils”, “Writing file” + file); success = true; } catch (IOException e) { Log.w(“FileUtils”, “Error writing ” + file, e); } catch (Exception e) { Log.w(“FileUtils”, “Failed to save file”, e); } finally { try { if (null != os) os.close(); } catch (Exception ex) { } } return success; } private static void readExcelFile(Context context, String filename) { if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) { Log.e(TAG, “Storage not available or read only”); return; } try{ // Creating Input Stream File file = new File(context.getExternalFilesDir(null), filename); FileInputStream myInput = new FileInputStream(file); // Create a POIFSFileSystem object POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput); // Create a workbook using the File System HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem); // Get the first sheet from workbook HSSFSheet mySheet = myWorkBook.getSheetAt(0); /** We now need something to iterate through the cells.**/ Iterator rowIter = mySheet.rowIterator(); while(rowIter.hasNext()){ HSSFRow myRow = (HSSFRow) rowIter.next(); Iterator cellIter = myRow.cellIterator(); while(cellIter.hasNext()){ HSSFCell myCell = (HSSFCell) cellIter.next(); Log.d(TAG, “Cell Value: ” + myCell.toString()); Toast.makeText(context, “cell Value: ” + myCell.toString(), Toast.LENGTH_SHORT).show(); } } }catch (Exception e){e.printStackTrace(); } return; } public static boolean isExternalStorageReadOnly() { String extStorageState = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(extStorageState)) { return true; } return false; } public static boolean isExternalStorageAvailable() { String extStorageState = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(extStorageState)) { return true; } return false; } }

Create a main.xml file in “layout” folder

In this xml file, add two buttons with id’s “writeExcel” and “readExcel” representing the “WriteExel” and “ReadExcel” buttons respectively.

Once you have done with all the above steps, your application is ready to test.

[wcp-carousel id=”10008″]

Read More

Рассказываем, какими программами можно открыть таблицы формата .xlsx на Android. Собрали для вас лучшие приложения, которые можно скачать бесплатно.

И школьники, и студенты, и представители взрослого поколения рано или поздно сталкиваются с таблицами – файлами, которые в удобном виде содержат различную информацию. Например, расписание в школе, график отпусков, учет доходов и расходов, заказы на поставки для торговой точки. О пользе электронных таблиц можно говорить бесконечно, поскольку в них еще и работать довольно комфортно, но мы не будем об этом.

Что делать в ситуации, когда компьютера с Microsoft Excel нет под рукой, но нужно срочно открыть или поработать с таблицей? В статье мы расскажем, чем же, собственно, можно открыть эксель-таблицу на мобильном телефоне Андроид. Под наш прицел попал формат xlsx, который появился в 2007 году и является более совершенной, функциональной версией xls. На человеческом языке – это современный стандарт для таблиц.

Мы рассмотрим специальные приложения, которые созданы для того, чтобы открыть файл xlsx, и офисные пакеты, в которых описываемая возможность – лишь одна из множества функций.

Содержание

  • 1 С помощью специальных приложений
    • 1.1 Microsoft Excel
    • 1.2 Google Таблицы
    • 1.3 XLSX Viewer
    • 1.4 XLSX File Reader
  • 2 С помощью офисных пакетов
    • 2.1 WPS Office
    • 2.2 Office Document Reader
    • 2.3 Document Viewer
    • 2.4 OfficeSuite
  • 3 Заключение

С помощью специальных приложений

Microsoft Excel

Microsoft Excel: Spreadsheets

Microsoft Excel: Spreadsheets

Начнем с самого очевидного – фирменного приложения компании Microsoft, которая, собственно, и изобрела эти таблицы. Их программа для телефона Android имеет аналогичное название, но скачать ее можно бесплатно. Однако все же для доступа к полному пакету функций потребуется оформить платную подписку на Microsoft 365.

Microsoft Excel позволяет не только открывать файлы, но и редактировать их, а также создавать свои по многочисленным шаблонам прямо на ходу. На смартфоне вы можете использовать все те же формулы и функции для расчета, что и в компьютерной версии. Также присутствует возможность визуализации данных (например, в виде графиков и диаграмм), а на устройствах с поддержкой сенсорного ввода доступна функция рисования, что помогает быстро делать заметки и выделять какие-либо области.

Но даже у такого неоспоримого лидера есть свои минусы. Для пользования приложением необходима учетная запись Microsoft, а для доступа ко всем функциям – платная подписка Microsoft 365. Программа весит немного (65 МБ), но требовательна к оперативной памяти (не менее 1 ГБ), версии ОС (Android 6.0+) и процессору (на базе ARM или Intel x86).

Несмотря на недостатки, приложение остается самым популярным для открытия xlsx файлов (более 1 млрд скачиваний), и мы также рекомендуем его к установке.

Скачать на Google Play

Google Таблицы

Google Таблицы

Google Таблицы

Google Таблицы – еще одна востребованная у пользователей программа, о чем можно судить по 500 млн скачиваний. Она также позволяет открывать и редактировать таблицы, форматировать ячейки и вводить в них формулы, сохранять файлы. Правда, в отличие от того же Microsoft Excel, здесь отсутствует возможность визуализации данных.

В чем явный плюс Google Таблицы, так это в том, что программа работает как в онлайн, так и в офлайн режимах. Компьютерная версия позволяет создавать таблицы и работать с ними, грубо говоря, в «интернете», а точнее, в облачном хранилище. За этим скрываются весомые достоинства – можно открыть доступ к таблицам коллегам для совместной работы, оставлять комментарии, а сам файл хранится в облаке и сохраняется автоматически, что сводит на нет вероятность его потери или несохранения. Приложение наследует все эти функции.

Также Google Таблицы умеют работать в оффлайн-режиме с xlsx файлами, которые хранятся в памяти смартфона. К преимуществам стоит также отнести простой удобный интерфейс и относительно невысокие требования к системе (Android 5.0+).

Скачать на Google Play

XLSX Viewer

XLSX Просмотрщик: Excel Ридер

XLSX Просмотрщик: Excel Ридер

К сожалению, вышеописанные программы – это два «титана», которые не оставляют и призрачного шанса своим конкурентам. Но мы нашли парочку других приложений от менее известных разработчиков, которые также справляются со своими задачами. Одно из них – это англоязычная XLSX viewer.

Загроможденный интерфейс может отпугнуть пользователя, но стоит немного разобраться, и все встает на свои места. Программа автоматически осуществляет поиск xlsx файлов и позволяет открывать их в один клик. Возможности редактирования отсутствуют.

К достоинствам XLSX Viewer следует отнести небольшой размер (19 МБ), низкие требования к системе (Android 4.4+) и то, что все функции доступны бесплатно, без каких-либо подписок. Также программа умеет открывать файлы других форматов (pdf, docx, ppt), но основное ее назначение – это работа с таблицами.

Из недостатков – не самый привлекательный дизайн, а также наличие рекламы, которая мешает работе.

Скачать на Google Play

XLSX File Reader

Xlsx File Reader & Viewer

Xlsx File Reader & Viewer

Подобрались к самому минималистичному и менее популярному приложению подборки. XLSX File Reader, как и XLSX Viewer, предназначен только для открытия (не редактирования) xlsx файлов. Программа также автоматически соберет все таблицы, что есть у вас на смартфоне Android, и отобразит их в удобном окошке.

За что следует похвалить XLSX File Reader, так это за приятный дизайн приложения. Оно не перегружено лишними функциями, а реклама хоть и есть, но не отвлекает от работы. Эта программа наименее требовательная в нашей подборке – ее размер составляет всего 7.9 МБ, а для запуска требуется Android 4.1. Поэтому, если у вас слабый смартфон и вы ищете, чем открыть на Андроид xlsx, то рекомендуем эту программу.

Скачать на Google Play

С помощью офисных пакетов

В этом подразделе представлены программы, которые предназначены для открытия не только файлов xlsx, но и других документов (текстовых, презентации и так далее).

WPS Office

WPS Office-PDF,Word,Excel,PPT

WPS Office-PDF,Word,Excel,PPT

WPS Office является наиболее популярным приложением из рассматриваемой категории – его загрузили свыше 1.3 млрд раз. Оно превращает ваш смартфон Android в подобие онлайн-офиса и позволяет работать со всевозможными документами, в том числе и с таблицами Excel.

Что касается последнего, то WPS Office не только открывает такие файлы, но и позволяет их править, использовать формулы и так далее. Доступен богатый инструментарий для решения практически любых задач.

Открывает WPS Office xlsx таблицы быстро, а дизайн окна приятный и не перегружен лишним. Более того, можно настроить между мобильным интерфейсом и привычным десктопным. Также, если постараться, можно связать приложение с ПК для удобного редактирования. Сохранять файлы можно как на памяти телефона, так и в облачном сервисе WPS.

Из минусов – обилие рекламы, наличие платной подписки (хотя для работы с таблицами она не потребуется). Программа довольно «тяжелая» (119 МБ), но ее требования к системе средние (Android 5.0+).

Скачать на Google Play

Office Document Reader

All Document Reader: Word, PDF

All Document Reader: Word, PDF

Еще один «карманный офис» порадует богатым инструментарием – помимо рассматриваемого формата, приложение способно открыть csv (тоже таблицы), epub (электронные книги) и многие другие файлы.

С xlsx Office Document Reader справляется на «ура» – программа быстро находит их (но, стоит отметить, не все) и без проблем открывает. Правда, отсутствует возможность редактирования, а дизайн такой же, как у XLSX viewer.

Из плюсов следует отметить «компактность» и удобство – найденные файлы аккуратно сложены по категориям, которые олицетворяют форматы, и тут не заблудится даже неподготовленный пользователь. Также отметим небольшой «вес» приложения – всего 28 МБ.

Есть и недостатки. Самым неприятным из них является обилие рекламы, что мешает комфортной работе, а интерфейс можно назвать устаревшим, поскольку в большинстве рассматриваемых кандидатов подборки он куда симпатичнее.

Скачать на Google Play

Document Viewer

Document Reader & Viewer

Document Reader & Viewer

Document Viewer представляет собой еще одну «сборную солянку», способную открывать файлы Word, Excel, PowerPoint и других продуктов Microsoft. Функциональность у программы минимальная, равно как и дизайн. Но это только плюс, поскольку интерфейс не загроможден лишними функциями.

Что касается работы с файлами xlsx, то приложение находит и открывает их все. В базовой версии возможность редактирования отсутствует – для этого нужно скачать плагин, что Document Viewer сам предложит сделать.

К достоинствам мы отнесем простоту в использовании, приятный и незагроможденный дизайн и отличную работу. К недостаткам – все ту же рекламу. Однако, от последней можно избавиться, купив платную подписку.

Скачать на Google Play

OfficeSuite

OfficeSuite: Word, Sheets, PDF

OfficeSuite: Word, Sheets, PDF

OfficeSuite – очередной отличный кандидат в нашей подборке, который помогает не только открыть xlsx файлы, но и редактировать их, используя стандартную панель инструментов. В этом плане приложение справляется на «ура» точно также, как и его собратья.

Есть у программы ряд других особенностей, которые упрощают работу с таблицами в целом. Так, вы можете бесплатно получить 5 ГБ облачного хранилища и хранить там файлы. Кросс-платформенные возможности позволяют связать ПК и Android для удобного редактирования. Интерфейс – удобный и интуитивно понятный. Программа переведена на более чем 65 языков – на русский в том числе. Размер у OfficeSuite средний (60 МБ), но зато пойдет он на слабых смартфонах (Android 4.4+).

Реклама может подпортить впечатление от пользования, однако авторы предлагают оформить платную подписку, которая не только уберет этот недостаток, но и наделит пользователя различными бонусами (50 ГБ облачного хранилища, откроется более 20 дополнительных функций). Впрочем, никто не запрещает пользоваться программой бесплатно.

Скачать на Google Play

Заключение

В нашей подборке 8 программ для открытия xlsx файлов на Android – и все они по-своему хороши. Если взглянуть на специальные приложения для открытия таблиц, которые позволяют лишь просматривать их, то обратите внимание на XLSX Viewer и XLSX File Reader. Если вы привыкли работать с онлайн-документами, то вашим незаменимым помощником станут Google Таблицы. Ну а Microsoft Excel – решение универсальное и беспроигрышное.

Что касается офисных пакетов, то все они пойдут для открытия xlsx таблиц, но не для редактирования, о чем мы непременно упомянули при описании.

import android.os.Bundle;

import android.view.View;

import android.widget.ProgressBar;

import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import androidx.core.widget.NestedScrollView;

import androidx.recyclerview.widget.LinearLayoutManager;

import androidx.recyclerview.widget.RecyclerView;

import com.android.volley.Request;

import com.android.volley.RequestQueue;

import com.android.volley.Response;

import com.android.volley.VolleyError;

import com.android.volley.toolbox.JsonObjectRequest;

import com.android.volley.toolbox.Volley;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private ArrayList<UserModal> userModalArrayList;

    private UserRVAdapter userRVAdapter;

    private RecyclerView userRV;

    private ProgressBar loadingPB;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        userModalArrayList = new ArrayList<>();

        userRV = findViewById(R.id.idRVUsers);

        loadingPB = findViewById(R.id.idPBLoading);

        getDataFromAPI();

    }

    private void getDataFromAPI() {

        RequestQueue queue = Volley.newRequestQueue(MainActivity.this);

        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

            @Override

            public void onResponse(JSONObject response) {

                loadingPB.setVisibility(View.GONE);

                try {

                    JSONObject feedObj = response.getJSONObject("feed");

                    JSONArray entryArray = feedObj.getJSONArray("entry");

                    for(int i=0; i<entryArray.length(); i++){

                        JSONObject entryObj = entryArray.getJSONObject(i);

                        String firstName = entryObj.getJSONObject("gsx$firstname").getString("$t");

                        String lastName = entryObj.getJSONObject("gsx$lastname").getString("$t");

                        String email = entryObj.getJSONObject("gsx$email").getString("$t");

                        String avatar = entryObj.getJSONObject("gsx$avatar").getString("$t");

                        userModalArrayList.add(new UserModal(firstName, lastName, email, avatar));

                        userRVAdapter = new UserRVAdapter(userModalArrayList, MainActivity.this);

                        userRV.setLayoutManager(new LinearLayoutManager(MainActivity.this));

                        userRV.setAdapter(userRVAdapter);

                    }

                } catch (JSONException e) {

                    e.printStackTrace();

                }

            }

        }, new Response.ErrorListener() {

            @Override

            public void onErrorResponse(VolleyError error) {

                Toast.makeText(MainActivity.this, "Fail to get data..", Toast.LENGTH_SHORT).show();

            }

        });

        queue.add(jsonObjectRequest);

    }

}

Понравилась статья? Поделить с друзьями:
  • Can an adjective be more than one word
  • Can all pdf files be converted to word
  • Can adobe pdf be converted to word
  • Can add words to word dictionary
  • Can acrobat convert word to pdf