問(wèn)題描述
我正在嘗試解碼 Power BI 桌面報(bào)表 (pbix) 內(nèi)部文件 (DataMashup).我的目標(biāo)是使用任何編程語(yǔ)言創(chuàng)建 Power-BI 桌面報(bào)表、數(shù)據(jù)模型.我使用 Java 作為初始值.
I am having power BI desktop report(pbix) internal file (DataMashup), which i am trying to decode. My Aim is to create Power-BI desktop report, Data Model using any programming language. I am using Java for initial.
文件使用某種編碼技術(shù)進(jìn)行編碼.
files are encoded with some encoding technique.
我嘗試獲取文件的編碼,它返回 windows 1254.但沒(méi)有進(jìn)行解碼.
I tried to get encoding of file and it is returning windows 1254. but decoding is not happening.
File f = new File("example.txt");
String[] charsetsToBeTested = {"UTF-8", "windows-1254", "ISO-8859-7"};
CharsetDetector cd = new CharsetDetector();
Charset charset = cd.detectCharset(f, charsetsToBeTested);
if (charset != null) {
try {
InputStreamReader reader = new InputStreamReader(new FileInputStream(f), charset);
int c = 0;
while ((c = reader.read()) != -1) {
System.out.print((char)c);
}
reader.close();
} catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
}catch(IOException ioe){
ioe.printStackTrace();
}
}else{
System.out.println("Unrecognized charset.");
}
文件解壓也不行
public void unZipIt(String zipFile, String outputFolder)
{
byte buffer[] = new byte[1024];
try
{
File folder = new File(outputFolder);
if(!folder.exists())
{
folder.mkdir();
}
ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile));
System.out.println(zis);
System.out.println(zis.getNextEntry());
for(ZipEntry ze = zis.getNextEntry(); ze != null; ze = zis.getNextEntry())
{
String fileName = ze.getName();
System.out.println(ze);
File newFile = new File((new StringBuilder(String.valueOf(outputFolder))).append(File.separator).append(fileName).toString());
System.out.println((new StringBuilder("file unzip : ")).append(newFile.getAbsoluteFile()).toString());
(new File(newFile.getParent())).mkdirs();
FileOutputStream fos = new FileOutputStream(newFile);
int len;
while((len = zis.read(buffer)) > 0)
{
fos.write(buffer, 0, len);
}
fos.close();
}
zis.closeEntry();
zis.close();
System.out.println("Done");
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
推薦答案
您可以使用 System.IO.Packaging 庫(kù)來(lái)提取 Power BI 數(shù)據(jù)混搭.它使用 OPC 封裝標(biāo)準(zhǔn),請(qǐng)參閱 這里.
You can use the System.IO.Packaging library to extract the Power BI data mashup. It uses the OPC package standard, see here.
這篇關(guān)于如何解碼/獲取文件編碼(Power BI 桌面文件)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!