在Apache POI中为生成的Excel文件设置默认打印scalling

时间:2017-01-25 08:57:25

标签: java excel apache-poi

我成功通过Apache POI生成Excel文件。问题是,当我尝试打印它时,最后3列不在可打印区域内。例如,工作表具有列A到L,但它仅适用于打印时的列A.用户总是从" No Scaling"更改打印比例。到#34;在一个页面上安装所有列"在打印之前。

enter image description here

如何修改Excel文件,使所有列都适合可打印区域,并且用户不必在每次打印时更改缩放。

1 个答案:

答案 0 :(得分:3)

这可以通过Sheet.setFitToPagePrintSetup.setFitWidth以及<DataGrid ItemsSource="{Binding Rows}" > <DataGrid.RowHeaderStyle> <Style TargetType="{x:Type DataGridRowHeader}" BasedOn="{StaticResource {x:Type DataGridRowHeader}}" > <!-- Empty content template for default state. Triggers below replace this for IsNewItem or IsEditing. --> <Setter Property="ContentTemplate"> <Setter.Value> <DataTemplate> <Label></Label> </DataTemplate> </Setter.Value> </Setter> <Style.Triggers> <DataTrigger Binding="{Binding IsEditing, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}}}" Value="True" > <Setter Property="ContentTemplate"> <Setter.Value> <DataTemplate> <Label>Edit</Label> </DataTemplate> </Setter.Value> </Setter> </DataTrigger> <DataTrigger Binding="{Binding IsNewItem, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}}}" Value="True" > <Setter Property="ContentTemplate"> <Setter.Value> <DataTemplate> <Label>New</Label> </DataTemplate> </Setter.Value> </Setter> </DataTrigger> </Style.Triggers> </Style> </DataGrid.RowHeaderStyle> </DataGrid> 的组合来完成。

示例:

protocol://host:port