如何让 Excel 逐行打印,宽度达到一页?

如何让 Excel 逐行打印,宽度达到一页?

我有一个 Excel 电子表格,其中包含 AU 列和 1-50 行。当我以可读比例打印它时,它会以三页宽的格式打印:第 1 页是 AF 列宽和 1-20 行长,第 2 页是 GL 列和 1-20 行,第 3 页是 MU 列 × 1-20 行。然后第 4、5 和 6 页转到第 21-40 行,依此类推。我不想将打印输出缩放到 1 页宽,并且n 页高,因为这样会使单元格太小。我宁愿使用一张纸宽的格式,其中电子表格一行的 AU 列使用打印页面上的两行或三行进行打印,但如果可能,请保留 Excel 表格格式,然后是电子表格的下一行,依此类推。

我怎样才能做到这一点?

答案1

使用页面设置将打印输出缩放为 1 页宽和 n 页高。对话框的具体外观可能取决于您的打印机。

设置方法之一是:转到“文件”>“打印”,然后选择“设置”下的“缩放比例”下拉菜单。选择“自定义”,然后在“页面”选项卡上将“适合”设置为 1 页宽和 99(或任何大数字)高。

编辑:您在最新评论中描述的情况是不可能的。Excel 打印网格。它无法重新排列单行并将它们拆分成几行以适合一页。

答案2

如果不使用“导出到外部程序”选项,您有两种选择,每种选择都有其缺点。两者都使用File ⇨ Save As..对话

选项一,另存为“格式化文本(空格分隔)”。这将创建一个.prn文件,您可以将其重命名为.txt文件。它会创建相当干净的漂亮数据列。问题是行长限制为 240 个字符(如果我没记错的话),然后行会继续。这是一种奇怪的行为,因为第一行的延续将在最后一行的第一部分之后开始,而不是直接换行到第一行下方。因此,如果工作表中有 80 行,则第 81 行将是第 1 行的第 2 部分,而第 161 行将是第 1 行的第 3 部分。

选项二,另存为“文本(MS-DOS)”。这将创建一个.txt文件,如果您打开了“隐藏已知扩展名”,您可能看不到该文件的扩展名。即使扩展名被隐藏,您也可以通过图标知道它是一个普通的文本文件,Windows 资源管理器会在“类型”列中将其称为“文本文件”。此选项的问题是,如果列的大小相差很大,它会变得相当混乱。这是列中数据的大小,而不是一列与另一列相比的大小。如果一列中的所有数据长度几乎相同,那么它仍然会很好地排列。此选项没有强制的行长限制。但是,记事本每行限制为 1024 个字符,如果我没记错的话。这对您的情况来说可能不是问题,因为它会以正常方式换行,而且您无论如何都打算这样做。

根据上述两个选项之一保存文件,并根据需要更改选项一的扩展名,在记事本中打开文件。如果已关闭自动换行,请选择Format ⇨ Word Wrap在菜单上。现在您可以从记事本打印它,并根据需要控制页眉、页脚和边距。

如果您的数据集中有一列内容长度差异很大,并且打印输出的使用允许,则应尝试将该列或多列移至电子表格的最右侧。描述、地址、姓氏、产品名称等列都适合进行此类移动。日期、价格、电话号码以及产品代码的长度通常相当一致,因此,将其放在行首效果最佳。

答案3

可以做类似您想要的事情。如果所有列的宽度相同,并且您希望在每行上放置相同数量的列(例如 7;即 21÷3),那么会容易得多。如果您可以接受,并且假设您的数据在 上Sheet1A1:U50则输入

=OFFSET(Sheet1!$A$1, INT((ROW()-1)/3), COLUMN()-1+7*MOD(ROW()-1,3))

进入Sheet2!A1,向右拖/填至列 G (即第 7 列),向下拖/填至第 150 行(3×50)。单元格Sheet2!A1:G1将显示Sheet1!A1:G1。(您可能需要做一些工作才能使其格式正确。)但随后Sheet2!A2:G2(第 2 行)将显示Sheet1!H1:N1,而Sheet2!A3:G3(第 3 行)将显示Sheet1!O1:U1Sheet2第 4-6 行将显示Sheet1第 2 行,依此类推。

例如Sheet1

Sheet1 - 每行 21 个单元格

结果是Sheet2

Sheet2 - 每行 7 个单元格

然后只需打印 Sheet2 即可。

这是模仿我的回答如何将 Excel 中的一列拆分为多列,每列 55 行

相关内容