这是我有史以来第一篇关于堆栈溢出的文章,如果在我的问题需要解决的地方犯了一些错误,我们深感抱歉。
无论如何,我试图在Jexcel中使用excel中的SUMIF函数,却没有任何运气。
在寻找解决方案时,我找到了以下链接:https://bitbucket.org/leonate/jxls/issues/71/excel-formula-sumif-doesnt-work-with
这似乎解决了问题,但是我不知道如何在Jexcel中更改处理引擎。
如果这很简单,请记住,我是HTML,CSS和Java的新手。
我的代码(使用示例示例)如下:
<html>
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
<version>2.4.6</version>
</dependency>
<script src="https://cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>
<script src="http://cdn.bossanova.uk/js/excel-formula.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jexcel/1.5.0/js/jquery.jexcel.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jexcel/1.5.0/css/jquery.jexcel.min.css" type="text/css" />
<div id="my"></div>
<script>
var data = [
['M',5],
['E',10],
['A',3],
['A',4],
['Total','=SUMIF(A2:A6,"M",B2:B6)']
]
$('#my').jexcel({
data:data,
columns: [
{ type:'text' },
{ type:'numeric' },
],
colHeaders: ['Regular Driving','Hours'],
colWidths: [ 200, 80 ]
});
$('#my').jexcel('updateSettings', {
table: function (instance, cell, col, row, val, id) {
// Format numbers
if (col == 2 || col == 3) {
// Get text
txt = $(cell).text();
// Format text
txt = numeral(txt).format('0,0.00');
// Update cell value
$(cell).html(' $ ' + txt);
}
// Bold the total row
if ($(cell).text() == 'Total') {
$('.r' + row).css('font-weight', 'bold');
$('.r' + row).css('background-color', '#fffaa3');
}
}
});
</script>
</html>
Here is the result when I run my code
非常感谢您。