HarmonyOS鸿蒙Next中请问系统有能预览或者打开word/excel的方式吗
HarmonyOS鸿蒙Next中请问系统有能预览或者打开word/excel的方式吗 请问系统有能预览或者打开word/excel的方式吗,或者怎么实现打开支持word/excel的app
4 回复
请参考下方demo,如有问题这边再沟通。
import common from '@ohos.app.ability.common';
import fs from '@ohos.file.fs';
import { filePreview } from '@kit.PreviewKit';
import { BusinessError } from '@kit.BasicServicesKit';
import fileUri from '@ohos.file.fileuri';
let context = getContext(this) as common.UIAbilityContext;
let uiContext = getContext(this);
let fileInfo: filePreview.PreviewInfo = {
// 文件预览信息,包含了文件标题名、uri以及文件类型(mimeType)
title: '2.docx',
uri:'file://com.example.api12demo/data/storage/el2/base/haps/entry/files/2.docx',
// mimeType: 'application/pdf' // 文件(夹)的媒体资源类型,如text/plain
// mimeType: 'application/vnd.ms-excel' // 文件(夹)的媒体资源类型,如text/plain
mimeType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' // 文件(夹)的媒体资源类型,如text/plain
};
function copyFile() {
console.log("copyFile!")
// let srcFileDescriptor = context.resourceManager.getRawFdSync("1.pdf");
let srcFileDescriptor = context.resourceManager.getRawFdSync("2.docx");
// let srcFileDescriptor = context.resourceManager.getRawFdSync('1.xls');
//这里填rawfile文件夹下的文件名(包括后缀)
let stat = fs.statSync(srcFileDescriptor.fd)
console.log(`stat isFile:${stat.isFile()}`);
// 通过UIAbilityContext获取沙箱地址filesDir,以Stage模型为例
let pathDir = context.filesDir;
console.log("path:", pathDir)
// let dstPath = pathDir + "/1.pdf";
// let dstPath = pathDir + "/1.xls";
let dstPath = pathDir + "/2.docx";
let dest = fs.openSync(dstPath, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE)
let bufsize = 4096
let buf = new ArrayBuffer(bufsize)
let off = 0, len = 0, readedLen = 0
console.log('dstPath---',dstPath)
while (len = fs.readSync(srcFileDescriptor.fd, buf, { offset: srcFileDescriptor.offset + off, length: bufsize })) {
readedLen += len
fs.writeSync(dest.fd, buf, { offset: off, length: len })
off = off + len
if ((srcFileDescriptor.length - readedLen) < bufsize) {
bufsize = srcFileDescriptor.length - readedLen
}
}
console.log('=========close=========')
fs.close(dest.fd)
}
@Entry
@Component
struct Index {
@State message: string = '预览文件';
build() {
Row() {
Column() {
Button('传到沙箱')
.onClick(()=> {
copyFile()
})
Button(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
filePreview.openPreview(uiContext, fileInfo).then(() => {
console.info('openPreview success');
}).catch((err: BusinessError) => {
console.error('openPreview failed, err = ' + err.message);
});
})
}
.width('100%')
}
.height('100%')
}
}
更多关于HarmonyOS鸿蒙Next中请问系统有能预览或者打开word/excel的方式吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,系统本身不直接提供内置的Word或Excel文件预览或打开功能。用户需要通过第三方应用或华为应用市场下载相关的办公软件,如WPS Office或微软Office,来打开和编辑这些文件格式。HarmonyOS Next支持通过HAP(Harmony Ability Package)安装第三方应用,这些应用可以处理常见的办公文档格式。开发者可以通过集成相应的API来实现文档的预览和编辑功能。
在HarmonyOS鸿蒙Next中,系统内置了文件管理器和文档查看器,支持预览和打开Word、Excel等常用办公文档。你可以通过文件管理器直接点击文档进行预览,或者使用第三方办公应用(如WPS Office)进行更全面的编辑和查看操作。此外,鸿蒙还支持跨设备无缝协作,方便在不同设备间共享和编辑文档。