Top 9 # Xem Nhiều Nhất Xuất File Word Trong Excel Mới Nhất 4/2023 # Top Like | Beiqthatgioi.com

Hướng Dẫn Xuất Dữ Liệu Lớn Ra File Excel Với Thư Viện Apache Poi

Trong bài viết trước, tôi đã hướng dẫn đọc và ghi file excel trong Java sử dụng thư viện Apache POI. Với lượng dữ liệu ít khoảng vài nghìn dòng trở lại, khi xuất excel và .xlsx chúng ta có thể sử dụng các lớp có tiếp đầu ngữ HSSF, XSSF để xuất dữ liệu ra file excel mà không ảnh hưởng nhiều đến hiệu suất của chương trình. Tuy nhiên, với dữ liệu rất lớn khoảng vài chục nghìn dòng trở lên thì thời gian xử lý sẽ tương đối chậm, tốn nhiều bộ nhớ. May mắn là thư viện Apache POI còn thêm một class khác là SXSSF giúp chúng ta giải quyết vấn đề này.

SXSSF (Streaming version of XSSFWorkbook) là một phần mở rộng API của XSSF, được sử dụng khi xuất các file excel lớn và có bộ nhớ heap sapce hạn chế. Do SXSSF mở rộng từ XSSF nên chỉ hỗ trợ xuất file có phần mở rộng là .xlsx ( Microsoft Excel 2007 trở về sau).

Trong phần tiếp theo của bài này, tôi sẽ hướng dẫn các bạn đọc và ghi file excel sử dụng lớp có tiếp đầu ngữ là SXSSF. Nếu bạn chưa biết cách xuất dữ liệu ra file excel sử dụng thư viện Apache POI thì hãy xem bài viết Hướng dẫn đọc và ghi file excel trong Java sử dụng thư viện Apache POI.

Để tiện theo dõi, tôi sẽ sử dụng lại ví dụ của bài viết trước, chỉ thay đổi các lớp có tiếp đầu ngữ HSSF, XSSF bằng SXSSF.

Khởi tạo SXSSF

Trước khi đi vào phần ví dụ, chúng ta hãy tìm hiểu cách khởi tạo SXSSF:

SXSSFWorkbook workbook = new SXSSFWorkbook(); SXSSFWorkbook workbook = new SXSSFWorkbook(50); SXSSFWorkbook workbook = new SXSSFWorkbook(-1);

Lưu ý:

rowAccessWindowSize : xác định số lượng hàng (row) có thể được truy cập nhiều nhất thông qua SXSSFSheet.getRow. Khi một hàng (row) mới được tạo ra thông qua SXSSFSheet.createRow và nếu tổng số các bản ghi vượt quá giá trị được chỉ định (rowAccessWindowSize), khi đó hàng (row) với giá trị chỉ mục thấp nhất sẽ được làm mới (flushed) và không thể được truy cập thông qua SXSSFSheet.getRow nữa.

Các thao tác trên SXSSF như: createRow, getRow, autoSizeColumn, … chỉ ảnh hưởng đến các record trong phạm vi rowAccessWindowSize được chỉ định.

Phương thức autoSizeColumn: chỉ tự động điều chỉnh cỡ trong phạm vi rowAccessWindowSize được chỉ định. Để có thể autoSizeColumn đúng trên tất cả các record, cần đánh dấu theo dõi các cột trong bảng để tự động điều chỉnh định cỡ. Việc xác định độ rộng phù hợp nhất cho một ô rất đắt, điều này có thể ảnh hưởng đến hiệu suất chương trình.

sheet.trackColumnForAutoSizing(columnIndex); sheet.trackAllColumnsForAutoSizing();

Ví dụ sử dụng SXSSF

Book.java

package com.gpcoder.apachepoi; public class Book { private Integer id; private String title; private Integer quantity; private Double price; private Double totalMoney; public Book() { super(); } public Book(Integer id, String title, Integer quantity, double price) { super(); this.id = id; this.title = title; this.quantity = quantity; this.price = price; } @Override public String toString() { return "Book [id=" + id + ", title=" + title + ", quantity=" + quantity + ", price=" + price + ", totalMoney=" + totalMoney + "]"; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public Integer getQuantity() { return quantity; } public void setQuantity(Integer quantity) { this.quantity = quantity; } public Double getPrice() { return price; } public void setPrice(Double price) { this.price = price; } public Double getTotalMoney() { return totalMoney; } public void setTotalMoney(Double totalMoney) { this.totalMoney = totalMoney; } }

WriteExcelUsingSXSSF.java

package com.gpcoder.apachepoi; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.BuiltinFormats; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.FillPatternType; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.util.CellReference; import org.apache.poi.xssf.streaming.SXSSFCell; import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; public class WriteExcelUsingSXSSF { public static final int COLUMN_INDEX_ID = 0; public static final int COLUMN_INDEX_TITLE = 1; public static final int COLUMN_INDEX_PRICE = 2; public static final int COLUMN_INDEX_QUANTITY = 3; public static final int COLUMN_INDEX_TOTAL = 4; private static CellStyle cellStyleFormatNumber = null; public static void main(String[] args) throws IOException { final String excelFilePath = "C:/demo/books_large.xlsx"; writeExcel(books, excelFilePath); } SXSSFWorkbook workbook = new SXSSFWorkbook(); SXSSFSheet sheet = workbook.createSheet("Books"); sheet.trackAllColumnsForAutoSizing(); int rowIndex = 0; writeHeader(sheet, rowIndex); rowIndex++; for (Book book : books) { SXSSFRow row = sheet.createRow(rowIndex); writeBook(book, row); rowIndex++; } writeFooter(sheet, rowIndex); int numberOfColumn = 5; autosizeColumn(sheet, numberOfColumn); createOutputFile(workbook, excelFilePath); System.out.println("Done!!!"); } Book book; for (int i = 1; i <= 5; i++) { book = new Book(i, "Book " + i, i * 2, i * 1000); listBook.add(book); } return listBook; } private static void writeHeader(SXSSFSheet sheet, int rowIndex) { CellStyle cellStyle = createStyleForHeader(sheet); SXSSFRow row = sheet.createRow(rowIndex); SXSSFCell cell = row.createCell(COLUMN_INDEX_ID); cell.setCellStyle(cellStyle); cell.setCellValue("Id"); cell = row.createCell(COLUMN_INDEX_TITLE); cell.setCellStyle(cellStyle); cell.setCellValue("Title"); cell = row.createCell(COLUMN_INDEX_PRICE); cell.setCellStyle(cellStyle); cell.setCellValue("Price"); cell = row.createCell(COLUMN_INDEX_QUANTITY); cell.setCellStyle(cellStyle); cell.setCellValue("Quantity"); cell = row.createCell(COLUMN_INDEX_TOTAL); cell.setCellStyle(cellStyle); cell.setCellValue("Total money"); } private static void writeBook(Book book, SXSSFRow row) { if (cellStyleFormatNumber == null) { short format = (short) BuiltinFormats.getBuiltinFormat("#,##0"); SXSSFWorkbook workbook = row.getSheet().getWorkbook(); cellStyleFormatNumber = workbook.createCellStyle(); cellStyleFormatNumber.setDataFormat(format); } SXSSFCell cell = row.createCell(COLUMN_INDEX_ID); cell.setCellValue(book.getId()); cell = row.createCell(COLUMN_INDEX_TITLE); cell.setCellValue(book.getTitle()); cell = row.createCell(COLUMN_INDEX_PRICE); cell.setCellValue(book.getPrice()); cell.setCellStyle(cellStyleFormatNumber); cell = row.createCell(COLUMN_INDEX_QUANTITY); cell.setCellValue(book.getQuantity()); cell = row.createCell(COLUMN_INDEX_TOTAL, CellType.FORMULA); cell.setCellStyle(cellStyleFormatNumber); int currentRow = row.getRowNum() + 1; String columnPrice = CellReference.convertNumToColString(COLUMN_INDEX_PRICE); String columnQuantity = CellReference.convertNumToColString(COLUMN_INDEX_QUANTITY); cell.setCellFormula(columnPrice + currentRow + "*" + columnQuantity + currentRow); } private static CellStyle createStyleForHeader(Sheet sheet) { Font font = sheet.getWorkbook().createFont(); font.setFontName("Times New Roman"); font.setBold(true); font.setFontHeightInPoints((short) 14); font.setColor(IndexedColors.WHITE.getIndex()); CellStyle cellStyle = sheet.getWorkbook().createCellStyle(); cellStyle.setFont(font); cellStyle.setFillForegroundColor(IndexedColors.BLUE.getIndex()); cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); cellStyle.setBorderBottom(BorderStyle.THIN); return cellStyle; } private static void writeFooter(SXSSFSheet sheet, int rowIndex) { SXSSFRow row = sheet.createRow(rowIndex); SXSSFCell cell = row.createCell(COLUMN_INDEX_TOTAL, CellType.FORMULA); cell.setCellFormula("SUM(E2:E6)"); } private static void autosizeColumn(SXSSFSheet sheet, int lastColumn) { for (int columnIndex = 0; columnIndex < lastColumn; columnIndex++) { sheet.autoSizeColumn(columnIndex); } } private static void createOutputFile(SXSSFWorkbook workbook, String excelFilePath) throws IOException { try (OutputStream os = new FileOutputStream(excelFilePath)) { workbook.write(os); } } }

Thực thi chương trình trên, một file books_large.xlsx được tạo ra trong thư mục C:/demo như sau:

So sánh hiệu xuất chương trình khi sử dụng SXSSF và XSSF

Để so sánh hiệu suất của chương trình khi sử dụng SXSSF và XSSf, tôi sử dụng lại ví dụ WriteExcelUsingSXSSF ở trên, và ví dụ WriteExcelExample ở bài viết trước.

Trong ví dụ bên dưới, tôi sử dụng lớp StopWatch của thư viện Apache Common Lang để đo thời gian thực thi của chương trình

Bây giờ, hãy tăng số lượng dữ liệu cần xuất ra khoảng 100.000 dòng (thay đổi trong phương thức getBooks). Xem kết quả thực thi của 2 chương trình như sau:

Bây giờ hãy thử xóa bỏ các đoạn code autoresize column ở 2 chương trình, vẫn kiểm tra 100.000 record.

WriteExcelUsingSXSSF:

Kết quả thực thi chương trình trên:

Kết quả thực thi chương trình trên:

Khi cần xuất dữ liệu lớn ra file .xlsx và không có yêu cầu về autoresize column thì nên sử dụng SXSSF để đạt được hiệu suất tốt hơn.

Cám ơn các bạn đã quan tâm và theo dõi bài viết, hẹn gặp lại ở các bài viết tiếp theo.

Cách Chuyển File Word Sang Excel

Nếu bạn có một file Word và có khá nhiều dữ liệu ở trong đó và bạn muốn chuyển những dữ liệu này sang Excel để dễ dàng tính toán, xử lý dữ liệu. Lúc này mà bạn nhập lại dữ liệu trên bảng tính Excel sẽ mất rất nhiều thời gian, do vậy bạn cần tìm cách để chuyển file Word sang Excel.

Cách chuyển file Word sang Excel

CÁCH CHUYỂN FILE WORD SANG EXCEL * Để chuyển file bạn cần chuẩn bị:

– File Word có nội dung cần chuyển sang Excel.

– Máy tính cần cài bộ Office để mở Word, Excel

Bài viết này mình giới thiệu 2 cách để bạn có thể chuyển được file, dữ liệu Word sang Excel.

Bước 5: Giao diện cửa sổ Import Text File xuất hiện. Bạn chọn đến file Plain Text mà bạn vừa lưu và nhấn chọn Import.

Bước 7: Tiếp theo tại cửa sổ Text Import Wizard – Step 2 of 3 bạn chọn dấu phân cách có trong Word để tách cột trong Word, nếu không muốn phân tách dữ liệu theo dấu phân cách thì bạn bỏ chọn tất cả. Sau đó, bạn nhấn Next.

Bước 8: Bạn chọn kiểu định dạng dữ liệu trong phần Text Import Wizard – Step 3 of 3 rồi nhấn chọn Finish.

Bước 9: Trong hộp thoại Import Data bạn cần chọn vị trí để đưa dữ liệu vào:

– Chọn Exitsting worksheet (sheet hiện tại);

– Chọn New worksheet (sheet mới).

Sau đó, bạn nhấn OK để hoàn thành thao tác chuyển file Word sang Excel

Kết quả trong file Excel như hình ảnh dưới:

Bước cuối cùng là bạn chỉ cần Save file Excel nếu như bạn không muốn thay đổi gì thêm.

Cách 2: Sử dụng công cụ chuyển đổi Word sang Excel

– Với công cụ này bạn sẽ truy cập vào địa chỉ Convertio.co/vn/docx-xlsx/ để thực hiện việc chuyển đổi.

Bước 1: Bạn truy cập vào trang chuyển đổi Word sang Excel Convertio

Bạn có thể chọn là chuyển từ DocX sang XLSX hoặc Doc sang XLS hoặc Doc sang XLSX… tùy theo nhu cầu của bạn.

Bước 2: Nhấn chọn vào From Computer để chọn file Word cần chuyển đổi.

Tiếp theo là chọn thư mục chứa file Word như hướng dẫn ở hình dưới:

Bước 3: Bạn nhấn Convert để Website thực hiện việc chuyển đổi:

Chuyển đổi xong bạn nhấn chuột vào Download để tải file Excel vừa được chuyển đổi từ Word sang về rồi mở lên kiểm tra lại kết quả là xong.

Hướng Dẫn Mở File Excel, Word Nghi Dính Virus

Nhìn chung khi một file đã được cảnh báo là có virus thì chúng ta tốt nhất không nên tải về và càng không nên mở file đó ra, tuy nhiên trong một số trường hợp chúng ta vẫn cần kiểm tra xem trong file Excel, file Word bị nghi dính virus có nội dung gì. Vì thế lúc đó cần có phương án mở những file độc hại này trong vòng bảo vệ an toàn.

Dùng Google Docs

Dùng Google Docs sẽ giúp chúng ta mở file Excel/Word an toàn hơn chứ không chỉ có tác dụng mở file “docx” với những ai không có bản Microsoft Office đời cao.

Bước 1: Trước hết hãy đăng nhập vào kho Google Drive (drive.google.com) bằng tài khoản Google của bạn để tải file Word cần đọc lên. Muốn vậy, hãy bấm nút NEW màu đỏ rồi chọn File upload.

Dùng Google Docs mở file Excel, Word nghi dính virus: Trước hết hãy đăng nhập vào kho Google Drive (drive.google.com) bằng tài khoản Google của bạn để tải file Word cần đọc lên. Muốn vậy, hãy bấm nút NEW màu đỏ rồi chọn File upload.

Dùng Google Docs mở file Excel, Word nghi dính virus: Lựa chọn file Word cần đọc và bấm nút Open (mũi tên).

Bước 2: Sau khi tải xong lên Google Drive, hãy kích đúp vào file văn bản Word của bạn trong danh sách.

Dùng Google Docs mở file Excel, Word nghi dính virus: Sau khi tải xong lên Google Drive, hãy kích đúp vào file văn bản Word của bạn trong danh sách.

Lưu ý: Với một file Excel/Word chưa tải về máy tính, chúng ta vẫn có thể thử tìm cách mở bằng Google Docs. Ví dụ với một file Excel đính kèm trong email, chúng ta có thể lưu vào Google Drive để đọc thay vì tải về.

Dùng Google Docs mở file Excel, Word nghi dính virus: Với một file Excel đính kèm trong thư Gmail, chúng ta có thể bấm nút Lưu vào Drive để đọc thay vì tải về.

Dùng chức năng Safe Run của Bkav Pro

Để an tâm hơn thì chúng ta có thể dùng những công cụ diệt virus chuyên nghiệp có bản quyền, ở đây ví dụ như chức năng Safe Run của phần mềm Bkav Pro. Safe Run (Thực thi an toàn) cho phép bạn có thể mở file lạ hay vào các trang web chưa rõ nguồn gốc mà không sợ bị lây nhiễm virus, kể cả virus mới xuất hiện và chưa được cập nhật mẫu nhận diện.

+ Trong trường hợp muốn mở file Excel/Word với Bkav Safe Run, chúng ta bấm chuột phải vào file cần mở rồi chọn Mở file với Bkav Safe Run (đối với ứng dụng, chúng ta bấm chuột phải vào ứng dụng cần mở rồi chọn Chạy với Bkav Safe Run).

Dùng Bkav Safe Run mở file Excel, Word nghi dính virus: Trong trường hợp muốn mở file Excel/Word với Bkav Safe Run, chúng ta bấm chuột phải vào file cần mở rồi chọn Mở file với Bkav Safe Run (đối với ứng dụng, chúng ta bấm chuột phải vào ứng dụng cần mở rồi chọn Chạy với Bkav Safe Run).

Dùng Bkav Safe Run mở file Excel, Word nghi dính virus: File được mở trong môi trường Safe Run sẽ có viền màu cam bao quanh như trong hình.

+ Với Bkav Safe Run, khi bạn mở một file tải về từ Internet hay mở file đính kèm trong email, chức năng nàysẽ tự động đưa ra khuyến cáo bạn để bạn lựa chọn các chế độ Mở với Safe Run hoặc Mở thông thường. Nếu bạn chưa xác định được chính xác nguồn gốc của file định mở, tốt nhất bạn nên chọn Mở với Safe Run. Để bật hoặc tắt với chức năng tự động khuyến cáo này, chúng ta cần vào mục tùy chọn của Safe Run trong Bkav Pro.

Dùng Bkav Safe Run mở file Excel, Word nghi dính virus: Với Bkav Safe Run, khi bạn mở một file tải về từ Internet hay mở file đính kèm trong email, chức năng nàysẽ tự động đưa ra khuyến cáo bạn để bạn lựa chọn các chế độ Mở với Safe Run hoặc Mở thông thường.

Dùng Bkav Safe Run mở file Excel, Word nghi dính virus: Để bật hoặc tắt với chức năng tự động khuyến cáo, chúng ta cần vào thẻ Tùy chọn rồi chọn mục Thực thi an toàn (Safe Run) trong Bkav Pro.

Dùng Bkav Safe Run mở file Excel, Word nghi dính virus: Đánh dấu hoặc bỏ đánh dấu mục Tự động khuyến cáo khi mở file từ Internet, email…

Theo ICTNews

Cách Backup File Excel Tự Động, Auto Save File Excel 2022, 2013, 2010,

Backup file Excel tự động chính là cách cứu người sử dụng Excel trong trường hợp đang làm việc với loại file này mà bị tắt đột ngột do máy tính hoặc vì một nguyên nhân nào đó, backup file Excel tự động cũng là tính năng mà bất cứ người dùng nào cũng phải biết.

Backup file Excel tự động là tính năng đã có sẵn ở trên bất cứ phiên bản Excel nào nhưng không phải người dùng nào cũng biết được dến tính năng này. Backup file Excel tự động cho phép tự động lưu file Excel đang mở mỗi phút, số phút lưu này tùy vào cài đặt của bạn và tối thiểu là 1 phút lưu 1 lần. Đây là tính năng cứu giúp người sử dụng trong trường hợp Excel đột ngột thoát hoặc máy tính tự động tắt đi vì nguyên nhân khác quan nào đó.

Ngoài ra người dùng sử dụng backup file Excel tự động còn có thể tự mình thay đổi thời gian tự động lưu trên Excel. Việc thay đổi thời gian tự động lưu trên Excel tối thiếu là 1 phút và tối đa có thể đến 99 phút, tất nhiên chúng ta nên để càng ngắn càng tốt để đảm bảo mọi dữ liệu cũng như công sức chúng ta xây dựng dữ liệu bên trong Excel không hề bị mất. Đây là tính năng được mặc định bật trong Excel nhưng bạn đọc cần phải hiểu về nó để sử dụng linh hoạt trong mọi tình huống.

Cách backup file Excel tự động 1. Backup file Excel tự động phiên bản Excel 2016, 2013

Bước 1: Để có thể backup file Excel tự động phiên bản 2016, 2013 chúng ta chỉ cần nhấn vào mục File trên thanh Excel.

Bước 2: Tại đây bạn truy cập tiếp vào phần Options để vào Excel Options.

Bước 3: Trong Excel Options bạn vào phần Save và chú ý các mục sau:

– Save AutoRecover Information every minutes: Backup file Excel tự động sao bao nhiêu phút.– Keep the last AutoRecovered version if i close without saving: Tự động lưu bản ghi cuối cùng nếu thoát Excel mà không lưu.– AutoRecover file location: Nơi chứa backup file Excel tự động, bạn có thể vào đây để mở lại file hoặc mở Excel như bình thường và hệ thống sẽ thông báo.

Với 3 tính năng cơ bản trên bạn đọc có thể xem cũng như tùy chỉnh sao cho thiết lập backup file Excel tự động ổn định nhất.

2. Backup file Excel tự động phiên bản Excel 2010, 2007

Bước 1: Để có thể backup file Excel tự động phiên bản 2010, 2007 chúng ta chỉ cần nhấn vào mục File trên thanh Excel.

Bước 2: Tại đây bạn truy cập tiếp vào phần Options.

Bước 3: Trong Excel Options bạn vào phần Save và chú ý các mục sau:

– Save AutoRecover Information every minutes: Backup file Excel tự động sao bao nhiêu phút.– Keep the last AutoRecovered version if i close without saving: Tự động lưu bản ghi cuối cùng nếu thoát Excel mà không lưu.– AutoRecover file location: Nơi chứa backup file Excel tự động, bạn có thể vào đây để mở lại file hoặc mở Excel như bình thường và hệ thống sẽ thông báo.

3. Backup file Excel tự động phiên bản Excel 2003

Bước 1: Với phiên bản Excel 2003 việc backup file Excel tự động có phần khác một chút khi chúng ta phải vào mục Tools.

Bước 2: Trong Tools chúng ta lựa chọn options.

Bước 3: Sau đó vào phần Save và thiết lập 2 tính năng có trong này để backup file Excel tự động.

– Save AutoRecover Information every minutes: Backup file Excel tự động sao bao nhiêu phút.– AutoRecover file location: Nơi chứa backup file Excel tự động, bạn có thể vào đây để mở lại file hoặc mở Excel như bình thường và hệ thống sẽ thông báo.