整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Excel设置动态打印区域,零基础也一学就会!

Excel设置动态打印区域,零基础也一学就会!

办公中,我们经常会用到Excel打印技巧,但是在打印的过程中,我们总是会遇到一些问题,就比如,当一个Excel表格中的内容过多,但我们只需要将其中的一部分进行打印,那这时,就会用到手动设置打印区域,那如果内容需要不断增加,就会设置动态打印区域,那我们该怎样去设置了?

首先我们来了解一下打印区域。

Print_Area(表示打印区域)

首先当我们Excel表格中有两个单元格时,我们将第一个单元格全选并命名为【Print_Area】,然后点击【页面布局】-【打印区域】-【取消打印区域】,则单元格区域中的内容名称Print_Area会消失不见。所以,我们只要重新定义Print_Area的单元格范围,就可将动态设置打印。

设置动态打印区域

设置单元格区域打印之后,则会自动生成Print_Area名称,然后点击【公式】-【名称管理器】查看该名称的引用位置。

同时,我们利用OFFSET函数,来重新定义应用范围。

函数公式:=OFFSET(1!$A,,,COUNTA(1!$A:$A),4),

(公式解释:A1单元格是开始的起点,COUNTA(1!$A:$A)是该区域单元格的结果,A列为非空单元格数量,则宽度为4)。

当A列增加数据后,打印区域就会自动扩展,然后点击打印区域,即可将此部分打印出来。

Excel设置动态打印区域技巧就分享到这里了,想要学的朋友们赶紧抓紧时间学习一下,有疑问可以进行留言哦!

excel里面有一个很实用的功能,那就是设置打印区域,我们可以根据自己的数据范围去灵活设置需要打印的范围,而设置方法也很简单,只需要选择数据区域,然后在【页面布局】选项卡下面选择【打印区域】,然后选择【设置打印区域】即可,如下图所示:

稍微熟悉excel的小伙伴想必也知道,这样设置出来的打印区域是固定的,也就是说如果后期需要在源数据下方或右侧(后面)增加新数据的话,此打印区域还是原有区域,并不会自动调整打印范围,用起来也是有点不方便的,为了解决这个问题,小编今天将为大家分享如何借助函数和定义名称来让打印范围根据数据自动调整范围,步骤如下:

第1步:仍然是需要把现有数据区域设置为【打印区域】

选择A1:D8区域—选择【页面布局】选项卡—选择【打印区域】—选择【设置打印区域】

小贴士:打印区域设置完后,excel会给所设置的打印区域自动定义名称为【Print_Area】,可选择整个数据区域在在【名称框内查看】,如下图:

在【公式】选项卡下选择【名称管理器】,在弹出来的窗口中可看到名称【Print_Area】,在下方的【引用位置】下面可看到此名称所引用的单元格区域,即为步骤1中所选择的单元格区域,如下图:

第2步:为了让打印范围自动更新,需要使用offset和counta组合去替换现有的打印范围

在【引用位置】下方框内输入公式:=OFFSET($A,0,0,COUNTA($A:$A),COUNTA(:)),然后点击【关闭】—点击【是】如下图:

公式解释:

公式OFFSET($A,0,0,COUNTA($A:$A),COUNTA(:))中,使用offset函数以A1单元格(打印区域开始的单元格)为参考系,向下偏移0行,向右偏移0列,所形成的的新引用区域的高度为,COUNTA($A:$A),即把counta函数统计出的A列数据的总个数作为offset函数新引用区域的高度,如A列有10个数据,则新的区域即为10行,如A列有15个数据,则新的区域为15行;同理,所形成的新引用区域的宽度为COUNTA(:),即把counta函数统计出的第1行数据的总个数作为offset函数新引用区域的宽度,如第1行有5个数据,则心的区域为5列,如第1行有10个数据,则新的区域为10列

第3步:设置完成后,我们在源数据范围的下方和右侧分别增加一条新的数据,结合上述公式解释,offset函数所形成的新的引用区域即为A1:E9区域,而此新的引用区域则作为更新后的打印区域

至此,可根据数据范围自动更新的打印区域的设置就算是完成了,你还不去实操一下,亲眼见证一下这个神奇的设置吗?

开发管理系统或票据打印功能时,打印功能是一个很常见的需求。本教程将详细介绍如何在 Vue3 项目中使用 vue-print 插件实现票据文档的打印功能。

一、引言

现代Web应用中,有很多场景需要打印功能,例如财务报表、发票、订单明细等。Vue3是目前流行的前端框架之一,vue-print插件提供了简单易用的API,使得在Vue3中实现打印功能变得便捷。

二、安装与设置

1. 初始化 Vue3 项目

如果你还没有 Vue3 项目,你可以使用 Vue CLI 快速创建一个:

vue create vue-print-demo
cd vue-print-demo

2. 安装 vue-print 插件

在项目根目录下运行以下命令安装 vue-print 插件:

npm install vue-print-nb@next

三、配置 vue-print 插件

在 src/main.js 中配置 vue-print 插件:

import { createApp } from 'vue';
import App from './App.vue';
import Print from 'vue-print-nb';

const app=createApp(App);

app.use(Print);

app.mount('#app');

四、实现打印功能

1. 创建票据打印的组件

在 src/components 目录下创建 PrintInvoice.vue 组件:

<template>
  <div ref="printArea">
    <h1>发票</h1>
    <p>发票号:{{ invoiceNumber }}</p>
    <p>日期:{{ date }}</p>
    <p>客户名称:{{ customer }}</p>
    <table>
      <tr>
        <th>商品</th>
        <th>数量</th>
        <th>单价</th>
        <th>总价</th>
      </tr>
      <tr v-for="item in items" :key="item.id">
        <td>{{ item.name }}</td>
        <td>{{ item.quantity }}</td>
        <td>{{ item.price }}</td>
        <td>{{ item.quantity * item.price }}</td>
      </tr>
    </table>
    <p>总计:{{ total }}</p>
  </div>
  <button @click="print">打印发票</button>
</template>

<script lang="ts">
import { defineComponent, ref } from 'vue';

interface Item {
  id: number;
  name: string;
  quantity: number;
  price: number;
}

export default defineComponent({
  name: 'PrintInvoice',
  setup() {
    const printArea=ref<HTMLElement | null>(null);

    const invoiceNumber='INV-123456';
    const date=new Date().toLocaleDateString();
    const customer='某某公司';
    const items: Item[]=[
      { id: 1, name: '商品1', quantity: 2, price: 50 },
      { id: 2, name: '商品2', quantity: 1, price: 100 },
    ];
    const total=items.reduce((sum, item)=> sum + item.price * item.quantity, 0);

    const print=()=> {
      if (printArea.value) {
        const printContent=printArea.value.innerHTML;
        const newWindow=window.open('', '', 'width=800,height=600');
        if (newWindow) {
          newWindow.document.write(printContent);
          newWindow.document.close();
          newWindow.print();
          newWindow.close();
        }
      }
    };

    return {
      printArea,
      invoiceNumber,
      date,
      customer,
      items,
      total,
      print,
    };
  },
});
</script>

<style scoped>
/* 添加一些样式使打印内容更好看 */
table {
  width: 100%;
  border-collapse: collapse;
}
th, td {
  border: 1px solid #000;
  padding: 8px;
  text-align: left;
}
th {
  background-color: #f2f2f2;
}
</style>

2. 使用打印组件

在 src/App.vue 中使用我们创建的打印组件:

<template>
  <div id="app">
    <PrintInvoice />
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue';
import PrintInvoice from './components/PrintInvoice.vue';

export default defineComponent({
  name: 'App',
  components: {
    PrintInvoice,
  },
});
</script>

<style>
/* 可选:添加一些样式 */
</style>

五、运行应用

一切配置完成后,我们可以运行应用并查看效果:

npm run serve

打开浏览器访问 http://localhost:8080,你应该会看到一个票据打印界面,并且可以点击打印按钮进行打印。

六、总结

使用 Vue3 和 vue-print 插件可以轻松实现打印票据文档的功能。