我在我的C#应用程序中使用NPOI Version2.5.3,并试图设置缩放选项(适合1页上的所有列)。从这里和这里的这些问题来看,这似乎很容易做到。
问题是:
所以,我的问题发生在使用下面的代码时。所做的就是配置;适合一页的宽度和高度。我以为是因为床单。fittopage=true。
private void SetPrintSettings(XSSFSheet sheet)
{
sheet.SetMargin(MarginType.BottomMargin, 0.5);
sheet.SetMargin(MarginType.TopMargin, 0.5);
sheet.SetMargin(MarginType.LeftMargin, 0.45);
sheet.SetMargin(MarginType.RightMargin, 0.45);
sheet.SetMargin(MarginType.HeaderMargin, 0.3);
sheet.SetMargin(MarginType.FooterMargin, 0.3);
sheet.Autobreaks = true; //auto breaks
sheet.FitToPage = true; //THIS SETS IT TO ALL FIT ON ONE PAGE
var PrintSetup = sheet.PrintSetup;
PrintSetup.FitWidth = 1; //fit width onto 1 page
PrintSetup.FitHeight = 0; //don't care about height
PrintSetup.Landscape = true;
PrintSetup.PaperSize = 3; //paper size 11x17
}
private void SetPrintSettings(XSSFSheet sheet)
{
sheet.SetMargin(MarginType.BottomMargin, 0.5);
sheet.SetMargin(MarginType.TopMargin, 0.5);
sheet.SetMargin(MarginType.LeftMargin, 0.45);
sheet.SetMargin(MarginType.RightMargin, 0.45);
sheet.SetMargin(MarginType.HeaderMargin, 0.3);
sheet.SetMargin(MarginType.FooterMargin, 0.3);
sheet.Autobreaks = true; //auto breaks
sheet.FitToPage = false;
var PrintSetup = sheet.PrintSetup;
PrintSetup.FitWidth = 1; //fit width onto 1 page
PrintSetup.FitHeight = 0; //don't care about height
PrintSetup.Landscape = true;
PrintSetup.PaperSize = 3; //paper size 11x17
}
下面是我正在努力做的事情。只需设置缩放选项,使列适合1页。如果有人能帮我,或者给我指明正确的方向,那将是非常棒的。
看起来这是NPOI中的一个bug。
为了实现上述设置,需要在sheet XML中使用pagesetup
元素将FittoHeight
属性设置为0。例如:
<pageSetup orientation="landscape" fitToHeight="0"/>
不幸的是,如果我正确地阅读了NPOI代码,那么看起来NPOI没有输出属性,因为它认为它是一个空值。
XmlHelper.WriteAttribute(sw, "fitToHeight", this.fitToHeight, 1);
public static void WriteAttribute(StreamWriter sw, string attributeName, uint value, uint defaultValue, bool writeIfBlank = false)
{
if(value != defaultValue)
WriteAttribute(sw, attributeName, (int)value, writeIfBlank);
else if(writeIfBlank)
WriteAttribute(sw, attributeName, (int)value, writeIfBlank);
}
public static void WriteAttribute(StreamWriter sw, string attributeName, int value, bool writeIfBlank)
{
if (value == 0 && !writeIfBlank)
return;
WriteAttribute(sw, attributeName, value.ToString(CultureInfo.InvariantCulture));
}
value
等于0
,writeifblank
为false,因此,如果为true,那么第一个,则返回
;
被命中,并且没有写出任何值。
问题内容: 我有第1列和第2列,并希望将它们合并到同一表的第3列中。如果第2列为空,则显示第1列的值;如果第1列为空,则它们显示第2列的数据。如果它们都为空,则显示为空。我尝试了两件事: 1)使用CONCAT 。 仅当两个列都不为null时,它才合并列。否则,它只是将null声明为null。 2)使用(第1栏+第2栏)。 。 没有显示所需的输出。 我正在用Java编写此代码。谢谢 问题答案: us
问题内容: 我正在尝试找到一种将两列合并为一个的方法,但是要保持列中的值“ 0”而不是单词的组合。 这些是我和其他人尝试过的: 有人可以让我知道我做错了吗? 问题答案: 我的猜测是,您使用的是MySQL,其中的运算符会进行加法运算,并将值自动转换为数字。如果值不是以数字开头,则转换后的值为。 所以试试这个: 两种添加空间的方法:
本文向大家介绍mysql read_buffer_size 设置多少合适,包括了mysql read_buffer_size 设置多少合适的使用技巧和注意事项,需要的朋友参考一下 key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 458624 K read_buffer_size:是MySQL读入缓冲
问题内容: 我对Oracle Sql有疑问, 如果我有一个8列的名为A的数据: 我可以这样将其转换为表B: 这是将列(周日至周六)合并为一个名为“星期几”的新列 我该怎么办?谢谢! 问题答案: 您可以使用: Oracle安装程序 : 查询 : 输出 :
问题内容: 我正在写一个小脚本来帮助日本假名记忆。我如何将以下列表合并为一个?我尝试如下。 问题答案: 单程:
问题内容: 对于matlpotlib来说我还很陌生,我发现刻度线定位器和标签令人困惑,所以请多多包涵。我发誓我已经搜寻了几个小时。 我有一个这样的数据框“框架”(相关列): 其中,工作日名称是索引,而工作日编号是一列。此框架中没有日期时间对象。 我把这个变成了一个数字。 我需要将x轴用作数值,因为我想稍后添加一个散点图,这对于字符串值是不可能的。 这样可以 所以基本上我希望我的xticks是“ d