我目前正在使用XSLT开发CSV导出.在我的情况下,CSV文件将使用%99%的Excel,因此我必须考虑Excel行为.
我的第一个问题是csv中的德国特殊字符.即使CSV编码是UTF8,Excel也无法使用UTF8正确打开CSV文件.特殊字符变得怪异的符号.我找到了解决这个问题的方法.我刚刚添加了3个额外字节(EF BB BF - 又名BOM头),内容字节开头.因为UTF8 BOM是说'嘿伙计,它是UTF8,正确打开它'到Excel.问题解决了!
我的第二个问题是分离器.默认分隔符可以是逗号或分号,具体取决于区域.我认为它是德国的分号和英国的逗号.所以,为了防止出现这个问题,我不得不在下面添加一行:
<xsl:text>sep=;</xsl:text>
Run Code Online (Sandbox Code Playgroud)
要么
<xsl:text>sep=,</xsl:text>
Run Code Online (Sandbox Code Playgroud)
(此分隔符未实现为硬编码)
但我找不到任何解决方案的问题是,如果你添加"sep =;" 或者,当使用UT8-BOM生成CSV文件时,文件的开头"sep =",BOM无法再正确显示特殊字符!我确信BOM字节总是在字节数组的开头.此屏幕截图来自Mac OS X中的MS Excel:

前3个符号属于BOM表头.
你有没有想过这个问题,或者你有什么建议吗?谢谢.
编辑:
我分享了打印屏幕.
一个.BOM和 <xsl:text>sep=;</xsl:text>

湾 只是BOM

Java代码:
// Write the bytes
ServletOutputStream out = resp.getOutputStream();
if(contentType.toString().equals("CSV")) {
// The additional bytes in below is prefix indicates that the content is in UTF-8.
out.write(239);
out.write(187);
out.write(191);
}
out.write(bytes); // Content bytes, in this case XSL
Run Code Online (Sandbox Code Playgroud)
XSL代码:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes" /> …Run Code Online (Sandbox Code Playgroud) 我做了很多研究,但我找不到任何资源如何使用Recycler View Firebase(反之亦然)
有一个Firebase列表适配器,可以从中扩展BaseAdapter.我在Firebase聊天应用程序中找到了它.这是FirebaseListAdapter类.但是RecyclerView使用的适配器需要扩展RecyclerView.Adapter.
你是怎么克服这个问题的?你有什么建议吗?
我想知道如果文本不适合条形长度,条形图内的文本颜色(plotOptions.bar.dataLabels.color)可能会有所不同.例如:

代码在这里:
$(function () {
$('#container').highcharts({
chart: {
type: 'bar',
height: 700
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
plotOptions: {
bar: {
stacking: 'normal',
pointPadding: 0,
groupPadding: 0.2,
dataLabels: {
enabled: true,
color: 'black',
align: "right",
format: '{y} M',
inside: false,
style: {
fontWeight: 'bold'
},
verticalAlign: "middle"
},
}
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 2.33]
}]
});
Run Code Online (Sandbox Code Playgroud)
}); …
我有一个很长的字符串,我想分开作为一个规则.我的字符串是:
[1] (dokuma) deve, öküz, at tüyü, keçi k?l? veya koyun yününün s?k??t?r?larak sertle?tirilmesiyle imal edilen ve giyecek yap?m?nda kullan?lan kal?n ve kaba kuma? [2] (giyim) kuma?tan yap?lan yakas?z bol ve uzun üstlük [3] (halk a?z?) abla, anne [4] (halk a?z?) dar pantolon üzerine giyilen ceket
Run Code Online (Sandbox Code Playgroud)
我希望表现出来:
[1] (dokuma) deve, öküz, at tüyü, keçi k?l? veya koyun yününün s?k??t?r?larak sertle?tirilmesiyle imal edilen ve giyecek yap?m?nda kullan?lan kal?n ve kaba kuma?
[2] (giyim) kuma?tan yap?lan yakas?z bol ve uzun üstlük
[3] …Run Code Online (Sandbox Code Playgroud)