javaswing模板

java swing 中的FileDialog

import java.io.File;

/**

*

* @author Administrator

*/

public class EBBFileFilter extends javax.swing.filechooser.FileFilter {

private String Filter_Type;

public EBBFileFilter(String Filter_Type){

this.Filter_Type = Filter_Type;

}

public boolean accept(File f) {

if(Filter_Type.equals(“FileFilter_NB”)){

if (f.isDirectory()|| f.getPath().toLowerCase().endsWith(“.nb”)) {

return true;

}else{

return false;

}

}

if(Filter_Type.equals(“FileFilter_YB”)){

if (f.isDirectory()|| f.getPath().toLowerCase().endsWith(“.yb”)) {

return true;

}else{

return false;

}

}

if(Filter_Type.equals(“FileFilter_RB”)){

if (f.isDirectory()|| f.getPath().toLowerCase().endsWith(“.rb”)) {

return true;

}else{

return false;

}

}

if(Filter_Type.equals(“FileFilter_ETF”)){

if (f.isDirectory()|| f.getPath().toLowerCase().endsWith(“.etf”)) {

return true;

}else{

return false;

}

}else{

return true;

}

}

public String getDescription(){

if(Filter_Type.equals(“FileFilter_NB”)){

return “年报”;

}

if(Filter_Type.equals(“FileFilter_YB”)){

return “月报”;

}

if(Filter_Type.equals(“FileFilter_RB”)){

return “日报”;

}

if(Filter_Type.equals(“FileFilter_ETF”)){

return “模板文件”;

}

return null;

}

}

/////////—

//打开报表文件

private void open_BB() {

javax.swing.JFileChooser cf = new javax.swing.JFileChooser() {

public void approveSelection() {

super.approveSelection();

File file = this.getSelectedFile();

open_BB_Data(file);

}

};

cf.setDialogTitle(“选择文件”);

cf.setCurrentDirectory(new java.io.File(“file”));

cf.setMaximumSize(new java.awt.Dimension(425, 245));

cf.addChoosableFileFilter(new EBBFileFilter(“FileFilter_NB”));

cf.addChoosableFileFilter(new EBBFileFilter(“FileFilter_YB”));

cf.addChoosableFileFilter(new EBBFileFilter(“FileFilter_RB”));

cf.setAcceptAllFileFilterUsed(true);

cf.showOpenDialog(this);

}

我想知道如何用java swing设计我想要的这样的一个界面?望抽空帮助,万分感谢!

效果图

思路:

JTabbedPane  提供了一个setUI方法,来修改JTabbedPane 的界面和外观

然后我们可以继承BasicTabbedPaneUI 重写里面的部分绘制方法来修改外观

参考代码

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.plaf.ComponentUI;

import javax.swing.plaf.basic.BasicTabbedPaneUI;

public class SwingDemo extends JFrame implements ActionListener {

JButton jb;

JPanel jp3;

public SwingDemo() {

JTabbedPane jtpTotal = new JTabbedPane();//横向的JTabbedPane ,模块一,模块二…

JTabbedPane jtpa = new JTabbedPane();//模块一,对应的是jtpa

jtpa.setTabPlacement(JTabbedPane.LEFT);//设置标签在纵向

JPanel jp1 = new JPanel(new BorderLayout());//新建一个JPanel,布局为边界布局

JTextArea jta = new JTextArea();//文本域

jta.append(“人生若只如初见,何事秋风悲画扇.”);//文本域的内容

jta.setFont(new Font(“宋体”,Font.BOLD, 25));//文本域的文字

jp1.add(jta);

JPanel jp2 = new JPanel();

JLabel jl = new JLabel(“PI=3.1415926”);

jl.setFont(new Font(“隶书”,Font.BOLD, 20));

jl.setForeground(Color.RED);//设置jl的文字颜色

jp2.add(jl);

//为了方便响应事件,把jb,和jp3的定义放到了顶上

jp3 = new JPanel();

jb = new JButton(“点击按钮修改本页的背景色”);

jb.addActionListener(this);//添加事件响应

jp3.add(jb);

jtpa.add(“选项一”, jp1);

jtpa.add(“选项二”, jp2);

jtpa.add(“选项三”, jp3);

JPanel jpA = new JPanel(new BorderLayout());

jpA.add(jtpa);

//把jtpa的所有选项的标签的背景色设置为白色

for (int i = 0; i  jtpa.getTabCount(); i++) {

jtpa.setBackgroundAt(i, Color.WHITE);

}

jtpa.setUI(new TPUI());

jtpTotal.add(“模块一”, jpA);

//下面的jtpb和jtpc没有添加组件,也没有设置颜色, 但是结构看起来比较直观

JTabbedPane jtpb = new JTabbedPane();

jtpb.setTabPlacement(JTabbedPane.LEFT);

JPanel jp4 = new JPanel();

JPanel jp5 = new JPanel();

JPanel jp6 = new JPanel();

jtpb.add(“选项四”, jp4);

jtpb.add(“选项五”, jp5);

jtpb.add(“选项六”, jp6);

JPanel jpB = new JPanel(new BorderLayout());

jpB.add(jtpb);

jtpTotal.add(“模块二”, jpB);

JTabbedPane jtpc = new JTabbedPane();

jtpc.setTabPlacement(JTabbedPane.LEFT);

JPanel jp7 = new JPanel();

JPanel jp8 = new JPanel();

JPanel jp9 = new JPanel();

jtpc.add(“选项七”, jp7);

jtpc.add(“选项八”, jp8);

jtpc.add(“选项九”, jp9);

JPanel jpC = new JPanel(new BorderLayout());

jpC.add(jtpc);

jtpTotal.add(“模块三”, jpC);

add(jtpTotal);

setTitle(“主窗口”);// 标题

setSize(620, 480);// 大小

setLocationRelativeTo(null);// 居中

setDefaultCloseOperation(EXIT_ON_CLOSE);// 关闭窗口后退出程序

setVisible(true);// 窗口可见

}

public static void main(String[] args) {

new SwingDemo();

}

@Override

public void actionPerformed(ActionEvent e) {//点击修改jp3的颜色

if(e.getSource()==jb){//如果是jb按钮被点击

jp3.setBackground(new Color(getInt(),getInt(),getInt()));//那么修改jp3的背景色

}

}

public int getInt(){//随机产生0~255之间的数字,用于生成随机颜色r,g,b

return (int) (Math.random()*256);

}

}

//注意,此类用于修改外观JTabbedPane

class TPUI extends BasicTabbedPaneUI {

public static ComponentUI createUI(JComponent c) {

return new TPUI();

}

@Override

protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h,

boolean isSelected) {

if (isSelected) {//如果该标签被选中, 那么绘制矩形

g.setColor(new Color(116, 168, 231));

g.fillRect(x + w – 10, y, x+w, h);

}else{//没有被选中时的边框, 也可以不用绘制

g.setColor(new Color(116, 168, 231));

g.drawRect(x + w – 8, y, x+w, h);

}

}

@Override

protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h,

boolean isSelected) {

g.setColor(Color.RED);

super.paintTabBackground(g, tabPlacement, tabIndex, x, y, w, h, false);

// 最后一个参数 true绘制背景色.false不绘制

// 如果参数是isSelected ,那么选中就绘制背景色,不选中就不绘制

}

}

javaswing模板

java swing界面设计

GUI图形界面设计的重点是布局

SWING也是采用AWT的布局方式,进行布局管理的。(实现LayoutManager接口的方法,来进行管理布局,API中已有实现类,我们通常只需要指定实现类,而不需要自己重写方法)

常用的布局有绝对布局, 边界布局BorderLayout,流布局FlowLayout,表格布局GridLayout。

JFrame等重量级组件,默认布局是边界布局,JPanel轻量级组件,默认布局是流布局

绝对布局:布局的特点,需要指定每个组件的大小,和具体位置。

优点:充分的自定义,充分的自由,可以写出漂亮的 ,细致的界面

缺点:绝对布局在不同的操作系统下,会有一些不同程度的变化,导致界面变形,甚至组件重叠等。在同一操作系统下,窗口放大缩小,界面也会变形

绝对布局的范例

import javax.swing.JButton;

import javax.swing.JFrame;

public class Frame1 extends JFrame{

JButton jb1;

public Frame1() {

setLayout(null);//指定窗口的布局管理器为空,也就是绝对布局

jb1 = new JButton(“按钮”);

jb1.setLocation(100, 50);//指定组件的位置

jb1.setSize(80, 30);//指定组件的大小

//jb1.setBounds(100, 50, 80, 30);//上面两句代码等同于这句代码

add(jb1);

setSize(300, 200);

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new Frame1().setVisible(true);

}

}

边界布局BorderLayout:它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件

优点:比较常用的布局,简单易掌握,放大缩小,不影响组件的位置

缺点:组件位置不够灵活。每个区域如果添加多个组件,那么后面的组件会覆盖前面的组件。(因为可以嵌套其他组件使用,所以这些缺点基本都能克服)

3.   代码参考

import javax.swing.*;

import java.awt.*;

public class P004_BorderLayout {

JFrame jframe;

JButton jb1,jb2,jb3,jb4,jb5;

public P004_BorderLayout(){

jframe = new JFrame();

jframe.setTitle(“边界布局”);

jframe.setBounds(300, 200, 180, 180);

jb1 = new JButton(“东”);

jframe.add(jb1, BorderLayout.EAST);

jb2 = new JButton(“西”);

jframe.add(jb2,BorderLayout.WEST);

jb3 = new JButton(“南”);

jframe.add(jb3,BorderLayout.SOUTH);

jb4 = new JButton(“北”);

jframe.add(jb4,BorderLayout.NORTH);

jb5 = new JButton(“中”);

jframe.add(jb5);//BorderLayout.CENTER可以省略

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.setVisible(true);

}

public static void main(String[] args) {

new P004_BorderLayout();

}

}

流布局FlowLayout:像一排文字一个挨着一个的布局。流布局用于安排有向流中的组件,这非常类似于段落中的文本行。流的方向可以指定。

优点:可以快速添加组件,不用指定位置,也不用指定边界

缺点:线性排列 ,外观单调。(嵌套其他布局,可以忽略缺点)

代码参考

import java.awt.FlowLayout;

import javax.swing.*;

public class P003_FlowLayout {

JFrame jframe;

public P003_FlowLayout(){

jframe = new JFrame(“流式布局”);

for (int i = 1; i = 5; i++) {

jframe.add(new JButton(i+””));

}

jframe.setLocation(380, 260);

jframe.setLayout(new FlowLayout(FlowLayout.LEFT));//窗口指定位流式布局,方向从左往右

jframe.pack();

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.setVisible(true);

}

public static void main(String[] args) {

new P003_FlowLayout();

}

}

表格布局GridLayout:它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。

优点:组件整齐排列,

缺点:如果添加的组件数量,和指定的数量不一致,容易导致缺失等

参考代码

import javax.swing.*;

import java.awt.*;

public class P005_GridLayout {

JFrame jframe;

public P005_GridLayout() {

jframe = new JFrame(“表格布局”);

jframe.setLayout(new GridLayout(3, 4));//表格布局,3行 4列

for (int i = 0; i = 12; i++) {

jframe.add(new JButton(i+””));

}

jframe.setLocation(300, 200);

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.pack();

jframe.setVisible(true);

}

public static void main(String[] args) {

new P005_GridLayout();

}

}

最后: 布局是一种灵活的东西。你可以一个布局里嵌套另外一个布局。

比如边界布局的窗口的中间,加入按表格布局的组件,表格布局里面是流式布局。

很多的复杂的界面,通过细分,都能拆分成常用布局的嵌套

求高手用java SWING实现下图结构

这是服务器端:

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.net.Socket;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import javax.swing.JFrame;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.JScrollPane;

public class J_ChatClient extends JFrame

{

private ObjectInputStream m_input; // 输入流

private ObjectOutputStream m_output; // 输出流

private JTextField m_enter; // 输入区域

private JTextArea m_display; // 显示区域

public J_ChatClient( ) // 在图形界面中添加组件

{

super(“聊天程序客户端”);

Container c = getContentPane( );

m_enter = new JTextField( );

m_enter.setEnabled( false );

m_enter.addActionListener(new ActionListener( )

{

public void actionPerformed( ActionEvent event )

{ // 向服务器端发送数据

try

{

String s = event.getActionCommand( );

m_output.writeObject( s );

m_output.flush( );

mb_displayAppend( “客户端: ” + s );

m_enter.setText( “” ); // 清除输入区域的原有内容

}

catch (Exception e)

{

System.err.println(“发生异常:” + e);

e.printStackTrace( );

} // try-catch结构结束

} // 方法actionPerformed结束

} // 实现接口ActionListener的内部类结束

); // addActionListener方法调用结束

c.add( m_enter, BorderLayout.NORTH );

m_display = new JTextArea( );

c.add( new JScrollPane( m_display ), BorderLayout.CENTER );

} // J_ChatClient构造方法结束

public void mb_displayAppend( String s )

{

m_display.append( s + “\n” );

m_display.setCaretPosition( m_display.getText( ).length( ) );

m_enter.requestFocusInWindow( ); // 转移输入焦点到输入区域

} // 方法mb_displayAppend结束

public boolean mb_isEndSession( String m )

{

if (m.equalsIgnoreCase(“q”))

return(true);

if (m.equalsIgnoreCase(“quit”))

return(true);

if (m.equalsIgnoreCase(“exit”))

return(true);

if (m.equalsIgnoreCase(“end”))

return(true);

if (m.equalsIgnoreCase(“结束”))

return(true);

return(false);

} // 方法mb_isEndSession结束

public void mb_run( String host, int port)

{

try

{

mb_displayAppend(“尝试连接”);

Socket s = new Socket(host, port);

String m; // 来自服务器端的消息

m_output = new ObjectOutputStream( s.getOutputStream( ) );

m_input = new ObjectInputStream( s.getInputStream( ) );

m_enter.setEnabled( true );

do

{

m = (String) m_input.readObject( );

mb_displayAppend(“服务器端: ” + m);

} while(!mb_isEndSession( m ));// do-while循环结束

m_output.writeObject(“q”); // 通知服务端退出程序

m_output.flush( );

m_output.close( );

m_input.close( );

s.close( );

System.exit( 0 );

}

catch (Exception e)

{

System.err.println(“发生异常:” + e);

e.printStackTrace( );

mb_displayAppend(“发生异常”);

} // try-catch结构结束

} // 方法mb_run结束

public static void main(String args[ ])

{

J_ChatClient app = new J_ChatClient( );

app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

app.setSize(350, 150);

app.setVisible(true);

if ( args.length == 0 )

app.mb_run(“www.easyaq.com”, 5000);

else app.mb_run(args[0], 5000);

} // 方法main结束

} // 类J_ChatClient结束

这是客户端:

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.net.ServerSocket;

import java.net.Socket;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import javax.swing.JFrame;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.JScrollPane;

public class J_ChatServer extends JFrame

{

private ObjectInputStream m_input; // 输入流

private ObjectOutputStream m_output; // 输出流

private JTextField m_enter; // 输入区域

private JTextArea m_display; // 显示区域

private int m_clientNumber = 0; // 连接的客户数

public J_ChatServer( ) // 在图形界面中添加组件

{

super(“聊天程序服务器端”);

Container c = getContentPane( );

m_enter = new JTextField( );

m_enter.setEnabled( false );

m_enter.addActionListener(new ActionListener( )

{

public void actionPerformed( ActionEvent event )

{ // 向客户端发送数据

try

{

String s = event.getActionCommand( );

m_output.writeObject( s );

m_output.flush( );

mb_displayAppend( “服务器端: ” + s );

m_enter.setText( “” ); // 清除输入区域的原有内容

}

catch (Exception e)

{

System.err.println(“发生异常:” + e);

e.printStackTrace( );

} // try-catch结构结束

} // 方法actionPerformed结束

} // 实现接口ActionListener的内部类结束

); // addActionListener方法调用结束

c.add( m_enter, BorderLayout.NORTH );

m_display = new JTextArea( );

c.add( new JScrollPane( m_display ), BorderLayout.CENTER );

} // J_ChatServer构造方法结束

public void mb_displayAppend( String s )

{

m_display.append( s + “\n” ); //将给定文本追加到文档结尾

//设置 TextComponent 的文本插入符的位置。注意,插入符可跟踪更改,所以如果组件的基础文本被更改,

//则此位置可能会移动。如果文档为 null,则不执行任何操作。位置必须在 0 和组件的文本长度之间,否则将抛出异常

m_display.setCaretPosition( m_display.getText( ).length( ) );

m_enter.requestFocusInWindow( ); // 转移输入焦点到输入区域

} // 方法mb_displayAppend结束

public boolean mb_isEndSession( String m )

{

if (m.equalsIgnoreCase(“q”))

return(true);

if (m.equalsIgnoreCase(“quit”))

return(true);

if (m.equalsIgnoreCase(“exit”))

return(true);

if (m.equalsIgnoreCase(“end”))

return(true);

if (m.equalsIgnoreCase(“结束”))

return(true);

return(false);

} // 方法mb_isEndSession结束

public void mb_run( )

{

try

{

ServerSocket server = new ServerSocket(5000);

String m; // 来自客户端的消息

while (true)

{

m_clientNumber++;

mb_displayAppend(“等待连接[” + m_clientNumber + “]” + ” “);

Socket s = server.accept( );

mb_displayAppend(“接收到客户端连接[” + m_clientNumber + “]” + ” “);

m_output = new ObjectOutputStream( s.getOutputStream( ) );

m_input = new ObjectInputStream( s.getInputStream( ) );

m_output.writeObject(“连接成功”);

m_output.flush( );

m_enter.setEnabled( true );

do

{

m = (String) m_input.readObject( );

mb_displayAppend(“客户端: ” + m);

} while(!mb_isEndSession( m ));// do-while循环结束

m_output.writeObject(“q”); // 通知客户端退出程序

m_output.flush( );

m_enter.setEnabled( false );

m_output.close( );

m_input.close( );

s.close( );

mb_displayAppend(“连接[” + m_clientNumber + “]结束” + ” “);

} // while循环结束

}

catch (Exception e)

{

System.err.println(“发生异常:” + e);

e.printStackTrace( );

mb_displayAppend(“连接[” + m_clientNumber +”]发生异常” + ” “);

} // try-catch结构结束

} // 方法mb_run结束

public static void main(String args[ ])

{

J_ChatServer app = new J_ChatServer( );

app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);

app.setSize(350, 150);

app.setVisible(true);

app.mb_run( );

} // 方法main结束

} // 类J_ChatServer结束

楼主看看就应该懂了,我注释的很详细的,这个是我以前学Socket编程的时候,写的一个例子

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月26日 23:17:54
下一篇 2024年3月26日 23:30:14

相关推荐

  • excel工作计划模板,excel写工作计划

    如何用excel表格做一个生产计划(生产排程) 打开Excel。点击页面布局,再点击纸张大小。选择纸张大小,一般使用A4纸。选取第一排表格,点击右键,点击合并旁边的小三角,并选择合并居中。第一排表格用于填写表格名称,如果没有名称可以不用合并。 创建一个新的excel工作簿并将其重命名为“生产统计报表”,打开工作簿并将sheet1重命名为“生产记录”,shee…

    2024年5月23日
    6700
  • excel样式是什么,excel模板

    excel格式与样式的区别是什么? 样式包含多个格式,是事先做好的多个格式的集合。 如果是常规格式,系统则会根据单元格中的内容,自动判断数据类型。例如单元格里的内容是“2011-10-17”,Excel会自动将其识别为日期类型。如果是文本格式,Excel只会将其作为字符串来处理。 excel表格里的“套用表格格式”和“单元格样式”可用于快速设置表格的格式。 …

    2024年5月23日
    5800
  • java项目经验模板,Java项目经验

    Java软件开发工程师个人简历模板 1、扎实的JAVA基础知识,熟悉面向对象编程思想,熟练MVC设计模式。 2、年应届毕业生个人简历模板(一) 姓名:xxx 性别:xx 年龄:xx 学历:本科 毕业院校:xxx 专业:xxx 电子邮箱:xxx 联系电话:xxx 通信地址:xxx 毕业院校:xxx 主修课程: 汇编语言程序设计、JAVA程序设计、数据库原理、操…

    2024年5月22日
    5100
  • excel2003模板代码,excel代码大全

    如何做一个excel表,是仓库出库入库表! 建立一个库存明细表。如下图:库存商品出入库序时登记,结存自动累计 F2=IF(C3=,SUMPRODUCT((C$3:C3=C3)*(D$3:D3-E$3:E3)))向下复制 建立一个库存出、入及库结存查询表,及时掌控各商品库存情况。 在主界面中点击“入库单”进入操作工作表,系统已经自动为这个单据编号、并且自动使用…

    2024年5月22日
    5500
  • java弹窗阻止,javaswing弹窗

    如何禁止网页弹窗? 具体操作:按Win+R键打开运行窗口,输入MSConfig,回车打开系统配置窗口,切换至启动项,禁止自启动的网页项。 点击菜单栏左上角的Safari浏览器点击偏好设置点击“偏好设置”窗口顶端的安全性在“网站”部分中,勾选“阻止弹出式窗口”复选框。 关闭方法一:游览器关闭。以百度游览器为例:在右上角找到“…”的展开选项点击。在下…

    2024年5月22日
    4000
  • javaweb母版,javaweb项目模板

    javaEE和javaweb的区别? 1、JavaSE(JavaPlatform,StandardEdition)。JavaSE以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。 2、你说的javaee就是j2ee,与j2se,j2me并列,j2ee是java面向企业级应用推出的一套规范,说白了就是用于开发服务器…

    2024年5月22日
    5000
  • excel日记账,excel日记账表格模板

    可以利用excel中的数据透视表功能将以形成的日记账建立为总 利用Excel中的数据透视表功能将以形成的日记账建立为总分类账吗?可以,但是数据透视表功能很强大,你可以看自己的需要慢慢学。 单击“选项”按钮,出现“数据透视表选项”对话框,该对话框可根据需要对格式选项和数据选项进行设定。 如何利用excel2010中建立数据透视表 首先打开工作表,选择要进行统计…

    2024年5月21日
    4900
  • 军营网络安全知识答题模板,军营网络安全知识答题模板大全

    网络安全的基本知识 1、学习网络安全需要的基础知识如下:操作系统知识。学习安全应该从了解操作系统体系结构开始,包括任务调度、资源管理、权限管理、网络管理等内容。 2、网络安全知识内容:密码安全知识 用户名要设置足够长度的密码,最好使用大小写混合和特殊符号,不要为了好记而使用纯数字密码。 3、网络的安全是指通过采用各种技术和管理措施,使网络系统正常运行,从而确…

    2024年5月21日
    4200
  • excel转模板,转化成excel文档格式

    excel中,如何将表格设为模板? 点击打开Excel软件,新建一个工作表格,此时会弹出软件的编辑页面,在新建的工作表格里把模板的内容编辑完成。 启动Excel,打开需要保存为模板的工作簿文件。在“文件”选项卡中选择“另存为”选项,选择“另存为”栏中的“计算机”选项,鼠标单击“浏览”按钮,如图1所示。 电脑打开Excel表格,做好文档。编辑好要作为模板的Ex…

    2024年5月21日
    3900
  • excel做简单表格模板,excel表格制作快速入门

    excel利用模板快速建立表格的方法教程 建立一个工作表模板,将要做的是以本表为基础,建立一个与其相同的工作表。 我们先打开excel,然后点击新建一个表格。02 然后点击新建旁边的三角形,这样就可以看到很多选项,我们选择新建模板。 首先,打开excel。在第一行,选中A~G列。点击工具栏上的【合并后居中】。输入文字“员工工资表”。然后,选中3两第A列的两个…

    2024年5月21日
    4000

发表回复

登录后才能评论



关注微信