horizontal dimension(用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的)

2026-04-30 22:45:01 0

horizontal dimension(用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的)

各位老铁们好,相信很多人对horizontal dimension都不是特别的了解,因此呢,今天就来为大家分享下关于horizontal dimension以及用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的

代码如下,自己测试哦
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.*;
import java.awt.Color;
import java.awt.event.ActionEvent;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
import javax.swing.JColorChooser;
class Diary extends JFrame implements ActionListener,TreeSelectionListener{
JMenuBar menubar;
JMenu menu1,menu2,menu3,menu4,menu5,menu6;
JMenuItem item1,item2,item3,item4,item5,item6,item7,item8,item52,item61,item62,item63,item64;
JTextArea text=new JTextArea(20,40);
JButton b_save=new JButton("保存日志");
JButton b_del=new JButton("删除日志");
JButton b3=new JButton("锁定日志");
JButton b4=new JButton("解除锁定");
JSplitPane split1,split2;
JScrollPane scroll1,scroll2;
JPanel p;
JTree tree=null;
int i=0;
DefaultMutableTreeNode root;
DefaultMutableTreeNode month;
Diary(){
final JFrame frame = this;
menubar=new JMenuBar();
menu4=new JMenu("登陆");
item6=new JMenuItem("密码登陆");
menu4.add(item6);
menubar.add(menu4);
menu1=new JMenu("文件");
item1=new JMenuItem("新建");
item2=new JMenuItem("退出");
menu1.add(item1);
menu1.add(item2);
menubar.add(menu1);
menu2=new JMenu("");
item3=new JMenuItem("复制");
item4=new JMenuItem("剪切");
item5=new JMenuItem("粘贴");
item52=new JMenuItem("全选");
menu2.add(item3);
menu2.add(item4);
menu2.add(item5);
menu2.add(item52);
menubar.add(menu2);
menu3=new JMenu("设置");
//item6=new JMenuItem("密码设置");
item63=new JMenuItem("设置字体颜色");
item64=new JMenuItem("设置背景颜色");
item61=new JMenuItem("锁定区");
item62=new JMenuItem("解除锁定");
//menu3.add(item6);
menu3.add(item63);
menu3.add(item64);
menu3.add(item61);
menu3.add(item62);
menubar.add(menu3);
menu4=new JMenu("查看");
item7=new JMenuItem("状态栏");
menu4.add(item7);
menubar.add(menu4);
menu5=new JMenu("帮助");
item8=new JMenuItem("我的日记本信息");
menu5.add(item8);
menubar.add(menu5);
setJMenuBar(menubar); //把菜单条添加到窗口顶端
Container con=getContentPane(); //调用getContentPane()方法获的内容面板
root=new DefaultMutableTreeNode("日历记事本"); //结合树的输入与输出建立一个日历记事本
for(i=1;i《=12;i++)
{
month=new DefaultMutableTreeNode(""+i+"月");
root.add(month);
}
for(i=1;i《=12;i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
{
for(int j=1;j《=31;j++)
month.add(new DefaultMutableTreeNode(j+"日"));
}
else if(i==4||i==6||i==9||i==11)
{
for(int j=1;j《=30;j++)
month.add(new DefaultMutableTreeNode(j+"日"));
}
else
{
for(int j=1;j《=28;j++)
month.add(new DefaultMutableTreeNode(j+"日"));
}
}
tree=new JTree(root);
p=new JPanel(); //使用JPanel创建一个面板
p.add(b_save);p.add(b_del);p.add(b3);p.add(b4); //把这4个按钮组件假如面板中
scroll1=new JScrollPane(text,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); //把文本框放入滚动窗格中
b_save.addActionListener((ActionListener) this); //按钮的监听器
b_del.addActionListener((ActionListener) this);
scroll2=new JScrollPane(tree);
split1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,p,scroll1); //水平拆分这4个按钮和文本区
split2=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,scroll2,split1); //竖直拆分树行日历和文本按钮区
item1.addActionListener((ActionListener) this); //菜单栏的监听器
item2.addActionListener((ActionListener) this);
item3.addActionListener((ActionListener) this);
item4.addActionListener((ActionListener) this);
item5.addActionListener((ActionListener) this);
item6.addActionListener((ActionListener) this);
item7.addActionListener((ActionListener) this);
item8.addActionListener((ActionListener) this);
item52.addActionListener((ActionListener) this);
item61.addActionListener((ActionListener) this);
item62.addActionListener((ActionListener) this);
item63.addActionListener((ActionListener) this);
tree.addTreeSelectionListener((TreeSelectionListener) this); //树形日历的监听器
con.setLayout(new FlowLayout()); //设置布局
setSize(600,500); //设置窗体的大小
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width-300)/2,(screen.height-220)/2);
setResizable(false); //设置窗口不可以调节大小
setVisible(true); //设置窗口为可视
con.add(split2); //把树形日历和按钮,文本区都加入到内容面板中
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //单击关闭图标后关闭窗口
}
public void valueChanged(TreeSelectionEvent e) //处理树形事件的接口
{
text.setText(null);
if(e.getSource()==tree)
{
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
if(node.isLeaf())
{
String str=node.toString();
for( i=0;i《=12;i++)
{
if(node.getParent()==month)
{
try{String temp=null;
File f=new File(node.getParent().toString()+str+".text");
FileReader file=new FileReader(f);
BufferedReader in=new BufferedReader(file);
while((temp=in.readLine())!=null)
text.append(temp+’\n’);
file.close();
in.close();
}
catch(Exception el){}
}

}
}
}
}
//}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b_save) //保存按钮的实现方法
{
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
String str=node.toString();
if(node.isLeaf())
{
try{
File f=new File(node.getParent().toString()+str+".text");
FileWriter tofile=new FileWriter(f);
BufferedWriter out=new BufferedWriter(tofile);
out.write(text.getText(),0,(text.getText()).length());
out.flush();
tofile.close(); out.close();

}
catch(Exception el){}

}
}
else if(e.getSource()==b_del)
{
int n=JOptionPane.showConfirmDialog(this, "该文件还没有保存,确定要删除吗?","确认对话框", JOptionPane.YES_NO_OPTION);
if(n==JOptionPane.YES_OPTION)
{
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
String str=node.toString();
if(node.isLeaf())
{
File f=new File(node.getParent().toString()+str+".text");
f.delete();
}
}
else if(n==JOptionPane.NO_OPTION)
{
System.exit(0);
}
}
else if(e.getSource()==b3)
{
text.setEditable(false);
}
else if(e.getSource()==b4)
{
text.setEditable(true);
}
String selected=e.getActionCommand(); //获取命令
if(selected.equals("退出")){ //执行"退出"命令
dispose();
}
else if(selected.equals("新建")){
text.setText("");
}
else if(selected.equals("复制"))
{
text.copy();
}
else if(selected.equals("剪切"))
{
text.cut();
}
else if(selected. equals("粘贴"))
{
text.paste();
}
else if(selected.equals("全选"))
{
text.selectAll();
}
else if(selected.equals("密码登陆"))
{
LoginWindow login=new LoginWindow();
}

else if(selected.equals("设置字体颜色")){
Color newColor=JColorChooser.showDialog(this, "选择字体颜色", text.getForeground());
if(newColor !=null)
{
text.setForeground(newColor);
}
}
else if(selected.equals("设置背景颜色"))
{
Color newColor=JColorChooser.showDialog(this, "选择背景颜色", text.getBackground());
if(newColor !=null)
{
text.setBackground(newColor);
}
}
else if(selected.equals("锁定区"))
{
text.setEditable(false);
}
else if(selected.equals("解除锁定"))
{
text.setEditable(true);
}

}
}
class LoginWindow extends JFrame implements ActionListener {
JPanel p1=new JPanel(); //定义并建立面板
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
JPanel p5=new JPanel();
JTextField text1=new JTextField(15); //用户名文本框
JPasswordField text2=new JPasswordField(15); //密码域
JButton ok=new JButton("确定");
JButton cancel=new JButton("取消");
LoginWindow()
{
setBackground(Color.DARK_GRAY); //设置背景颜色
Container con=getContentPane(); //取出内容面板
con.setLayout(new GridLayout(5,1)); //设置布局为5行1列
p2.add(new JLabel("用户名:"));p2.add(text1); //将组件添加到中间容器
p3.add(new JLabel("密码"));p3.add(text2);
p4.add(ok);p4.add(cancel);
ok.addActionListener(this); //注册事件监听器
cancel.addActionListener(this);
text1.addActionListener(this);
text2.addActionListener(this);
con.add(p1); con.add(p2); con.add(p3); con.add(p4); con.add(p5); //将面板添加到内容面板
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //单击关闭图标后关闭窗口
setSize(300,220); //设置窗口的大小
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width-300)/2,(screen.height-220)/2);
setTitle("登录窗口");
setResizable(false); // 不让用户改变窗口大小
setVisible(true);
}
public void actionPerformed(ActionEvent e) {

if(e.getSource()==ok||e.getSource()==text2){
if(text1.getText().trim().equals("meijianwen") && text2.getText().trim().equals("070341320")){
dispose(); //关闭登陆窗口
}
else{
JOptionPane.showMessageDialog(null, "用户名或密码错误!");
text1.requestFocus(); //设置焦点
text1.setSelectionStart(0); //设置选中文本开始位置
text1.setSelectionEnd(text1.getText().length());
}

}
else if(e.getSource()==cancel){ //单击取消按钮
dispose();
//System.exit(0);
}
else if(e.getSource()==text1) //在用户名文本框按回车焦点移到密码域
text2.requestFocus();
}
}
public class MyDiary
{
public static void main(String args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
Font font=new Font("JFrame",Font.PLAIN,14); //定义字体
Enumeration keys=UIManager.getLookAndFeelDefaults().keys(); //枚举风格关键字
while(keys.hasMoreElements())
{
Object key=keys.nextElement();
// if(((String)key).equals("Menu.foreground")||((String)key).equals("MenuItem.foreground"))
// UIManager.put(key,Color.DARK_GRAY); //设置菜单文字颜色
if(UIManager.get(key)instanceof Font)UIManager.put(key,font);

}
Diary win=new Diary();
win.validate();
}
}

计算器java代码

import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
class Normal{
double i,j;
public Normal(double num1,double num2){
i=num1;
j=num2;
}
public double puls(){
return i+j;
}
public double subtract(){
return i-j;
}
public double multiply(){
return i*j;
}
public double divide(){
return i/j;
}
public double surpuls(){
return i%j;
}
}
class scientific extends Normal{
public scientific(int num1, int num2) {
super(num1, num2);
}
}
public class calc extends JFrame{
public static void main(String args) {
viewNormal VN= new viewNormal("normal");
}
}
class viewNormal extends JFrame implements ActionListener{
JPanel jp1 = new JPanel(new GridLayout(4,3,5,5));
JPanel jp2 = new JPanel(new GridLayout(5,1,5,5));
JLabel jl;
JButton jb;
JButton jbs,jbo,jba,jbb,jbc,jby;
StringBuffer sb = new StringBuffer();
Normal normal;
int dot=0;
double fnum=0;
double lnum=0;
double result;
String sign=null;
public viewNormal(String title){
setTitle(title);
setLayout(null);
setVisible(true);
setBounds(200,200,305,350);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
jb= new JButton;
for(int i=0;i《9;i++){
jb=new JButton(""+(i+1));
jp1.add(jb);
jb.addActionListener(this);
}
jb=new JButton(".");
jb=new JButton("0");
jb=new JButton("=");
jb.addActionListener(this);
jb.addActionListener(this);
jb.addActionListener(this);
jp1.add(jb);
jp1.add(jb);
jp1.add(jb);
jp1.setBounds(10, 100, 200, 200);
jbs= new JButton("+");jbo= new JButton("-");jba= new JButton("*");
jbb= new JButton("/");jby= new JButton("%");jbc= new JButton("C");
jbs.addActionListener(this);jbo.addActionListener(this);jba.addActionListener(this);
jbb.addActionListener(this);jby.addActionListener(this);jbc.addActionListener(this);
//jp2.add(jby);
jp2.add(jbs);jp2.add(jbo);jp2.add(jba);jp2.add(jbb);jp2.add(jbc);
jp2.setBounds(215, 100, 70, 200);
jl= new JLabel("0",JLabel.RIGHT);
jl.setFont(new Font("Batang",Font.BOLD, 20));
jl.setBorder(new LineBorder(Color.black,2));
jl.setBackground(Color.white);
jl.setBounds(10, 40, 275, 50);
jl.setOpaque(true);
add(jl);
add(jp1);
add(jp2);
}
//+
public void sum(){
lnum=Double.parseDouble(sb.toString());
normal=new Normal(fnum,lnum);
fnum=normal.puls();
result=fnum;
}
//-
private void sub() {
System.out.println(sb.toString());
lnum=Double.parseDouble(sb.toString());
normal=new Normal(fnum,lnum);
fnum=normal.subtract();
result=fnum;
}
//*
private void mul() {
lnum=Double.parseDouble(sb.toString());
normal=new Normal(fnum,lnum);
fnum=normal.multiply();
result=fnum;
}
// /
private void div() {
lnum=Double.parseDouble(sb.toString());
normal=new Normal(fnum,lnum);
fnum=normal.divide();
result=fnum;
}
//%
private void sur() {
lnum=Double.parseDouble(sb.toString());
normal=new Normal(fnum,lnum);
fnum=normal.surpuls();
result=fnum;
}
// =
private void same(){
if(sign.equals("+")){
sum();
}
if(sign.equals("-")){
sub();
}
if(sign.equals("*")){
mul();
}
if(sign.equals("/")){
div();
}
if(sign.equals("%")){
sur();
}
}
//result
public void Result(){
if(result%1!=0)
jl.setText(""+result);
else
{
int i=(int)result;
jl.setText(""+i);
}
}
@Override
public void actionPerformed(ActionEvent e) {
//System.out.println(sb.toString());
// 1~9
for(int i=0;i《9;i++){
if(e.getSource()==jb&&!sb.toString().equals("0")){
sb.append(jb.getText());
jl.setText(sb.toString());
}
else if(e.getSource()==jb&&sb.toString().equals("0")){
int d=sb.length();
sb.delete(0, d);
sb.append(jb.getText());
jl.setText(sb.toString());
}
}
// 0
if(e.getSource()==jb&&!sb.toString().equals("0")){
sb.append(jb.getText());
jl.setText(sb.toString());
}
// .
if(e.getSource()==jb&˙==0&&!sb.toString().equals("")){
dot++;
sb.append(jb.getText());
jl.setText(sb.toString());
}
// =
if(e.getSource()==jb&&!sb.toString().equals("")){
same();
Result();
int d=sb.length();
sb.delete(0, d);
dot=0;
}
// +
if(e.getSource()==jbs&&!sb.toString().equals("")){
if(sign!="+"&&sign!=null)
same();
else
sum();
sign ="+";
Result();
int d=sb.length();
sb.delete(0, d);
dot=0;
}
//-
if(e.getSource()==jbo&&!sb.toString().equals("")){
if(fnum==0)
fnum=2*Double.parseDouble(sb.toString());
if(sign!="-"&&sign!=null)
same();
else
sub();
sign ="-";
Result();
int d=sb.length();
sb.delete(0, d);
dot=0;
}
//*
if(e.getSource()==jba&&!sb.toString().equals("")){
if(fnum==0)
fnum=1;
if(sign!="*"&&sign!=null)
same();
else
mul();
sign ="*";
Result();
int d=sb.length();
sb.delete(0, d);
dot=0;
}
// /
if(e.getSource()==jbb&&!sb.toString().equals("")){
if(fnum==0)
fnum=Math.pow(Double.parseDouble(sb.toString()),2);
if(sign!="/"&&sign!=null)
same();
else
div();
sign ="/";
Result();
int d=sb.length();
sb.delete(0, d);
dot=0;
}
//%
// if(e.getSource()==jby&&!sb.toString().equals("")){
// if(fnum==0){
// fnum=Double.parseDouble(sb.toString());
// result=fnum;
// }
// else {
// if(sign!="%"&&sign!=null)
// same();
// else{
// lnum=Double.parseDouble(sb.toString());
// normal=new Normal(fnum,lnum);
// fnum=normal.surpuls();
// result=fnum;
// }
// }
// sign ="%";
// Result();
// int d=sb.length();
// sb.delete(0, d);
// dot=0;
// }
//clear
if(e.getSource()==jbc){
int d=sb.length();
sb.delete(0, d);
jl.setText("0");
dot=0;
fnum=0;
lnum=0;
sign=null;
}
}
}
class viewScientific extends viewNormal{
public viewScientific(String title){
super(title);
setBounds(200,200,800,500);
}
}
//等号以后输入符号用不了, String转 double 本来就有错误,你可以用我的扩展成科学型的。

如何使用文档处理控件Aspose.Word将图像转换为PDF文档

对于文档处理控件Aspose.words,它的具有代表性的功能是在没有安装Microsoft Word的情况下,也能实现生成、打印、渲染、邮件合并,文档格式转换等功能。今天在使用Aspose.Words过程中,意外的发现这款文档处理软件的另外一个功能,它可以将图像转换为PDF文件,接下来就为大家分享一下实现这一功能的具体代码:

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Reflection;
 
using Aspose.Words;
using Aspose.Words.Drawing;
 
namespace ImageToPdf
{
    class Program
    {
        public static void Main(string args)
        {
            // Sample infrastructure.
            string exeDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar;
            string dataDir = new Uri(new Uri(exeDir), @"../../Data/").LocalPath;
 
            ConvertImageToPdf(dataDir + "Test.jpg", dataDir + "TestJpg Out.pdf");
            ConvertImageToPdf(dataDir + "Test.png", dataDir + "TestPng Out.pdf");
            ConvertImageToPdf(dataDir + "Test.wmf", dataDir + "TestWmf Out.pdf");
            ConvertImageToPdf(dataDir + "Test.tiff", dataDir + "TestTiff Out.pdf");
            ConvertImageToPdf(dataDir + "Test.gif", dataDir + "TestGif Out.pdf");
        }
 
        /// 《summary》
        /// Converts an image to PDF using Aspose.Words for .NET.
        /// 《/summary》
        /// 《param name="inputFileName"》File name of input image file.《/param》
        /// 《param name="outputFileName"》Output PDF file name.《/param》
        public static void ConvertImageToPdf(string inputFileName, string outputFileName)
        {
            // Create Aspose.Words.Document and DocumentBuilder.
            // The builder makes it simple to add content to the document.
            Document doc = new Document();
            DocumentBuilder builder = new DocumentBuilder(doc);
 
            // Read the image from file, ensure it is disposed.
            using (Image image = Image.FromFile(inputFileName))
            {
                // Find which dimension the frames in this image represent. For example 
                // the frames of a BMP or TIFF are "page dimension" whereas frames of a GIF image are "time dimension". 
                FrameDimension dimension = new FrameDimension(image.FrameDimensionsList); 
 
                 // Get the number of frames in the image.
                int framesCount = image.GetFrameCount(dimension);
 
                // Get the number of frames in the image.
                int framesCount = image.GetFrameCount(FrameDimension.Page);
 
                // Loop through all frames.
                for (int frameIdx = 0; frameIdx 《 framesCount; frameIdx++)
                {
                    // Insert a section break before each new page, in case of a multi-frame TIFF.
                    if (frameIdx != 0)
                        builder.InsertBreak(BreakType.SectionBreakNewPage);
 
                    // Select active frame.
                    image.SelectActiveFrame(dimension, frameIdx);
 
                    // We want the size of the page to be the same as the size of the image.
                    // Convert pixels to points to size the page to the actual image size.
                    PageSetup ps = builder.PageSetup;
                    ps.PageWidth = ConvertUtil.PixelToPoint(image.Width, image.HorizontalResolution);
                    ps.PageHeight = ConvertUtil.PixelToPoint(image.Height, image.VerticalResolution);
 
                    // Insert the image into the document and position it at the top left corner of the page.
                    builder.InsertImage(
                        image,
                        RelativeHorizontalPosition.Page,
                        0,
                        RelativeVerticalPosition.Page,
                        0,
                        ps.PageWidth,
                        ps.PageHeight,
                        WrapType.None);
                }
            }
 
            // Save the document to PDF.
            doc.Save(outputFileName);
        }
    }
}

android 怎样显示gif动画

android中现在没有直接显示gif的view,只能通过mediaplay来显示,且还常常不能正常显示出来,为此写了这个gifview,其用法和imageview一样
使用方法:
1-把GifView.jar加入你的项目。
2-在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件。如:
《com.ant.liao.GifView android:id="@+id/gif2"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:paddingTop="4px" android:paddingLeft="14px" android:enabled="false" /》
3-在代码中配置常用属性:
// 从xml中得到GifView的句柄
gf1 = (GifView) findViewById(R.id.gif1);
// 设置Gif图片源
gf1.setGifImage(R.drawable.gif1);
// 添加监听器
gf1.setOnClickListener(this);
// 设置显示的大小,拉伸或者压缩
gf1.setShowDimension(300, 300);
// 设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示
gf1.setGifImageType(GifImageType.COVER);

关于java~ setActionMap 是什么

yout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Date;
import java.util.StringTokenizer;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
/**
* 《p》Title: Swing日历《/p》
* 《p》Description: 操作日期《/p》
* @author duxu2004
* @version 1.0.1
*/
class JCalendar extends JPanel{
//动态表示年月日
private int year=0;
private int month=0;
private int day=0;
//主面板
private JPanel Main = new JPanel();
//日面板
private JPanel jPanelDay = new JPanel();
//月面板
private JPanel jPanelMonth = new JPanel();
//年的输入位置
private JTextField Year = new JTextField();
//月的输入位置
private JTextField Month = new JTextField();
//减少月份
private JButton MonthDown = new JButton();
//增加月份
private JButton MonthUp = new JButton();
private JPanel jPanelButton = new JPanel();
//减少年份
private JButton YearDown = new JButton();
//增加年份
private JButton YearUp = new JButton();
//显示日期的位置
private JLabel Out = new JLabel();
//中国时区,以后可以从这里扩展可以设置时区的功能
private Locale l=Locale.CHINESE;
//主日历
private GregorianCalendar cal=new GregorianCalendar(l);
//星期面板
private JPanel weekPanel=new JPanel();
//天按钮组
private JToggleButton;
//天面板
private JPanel Days = new JPanel();
//标示
private JLabel jLabel1 = new JLabel();
private JLabel jLabel2 = new JLabel();
private JLabel jLabel3 = new JLabel();
private JLabel jLabel4 = new JLabel();
private JLabel jLabel5 = new JLabel();
private JLabel jLabel6 = new JLabel();
private JLabel jLabel7 = new JLabel();
//当前选择的天数按钮
private JToggleButton cur=null;
//月份天数数组,用来取得当月有多少天
// 1 2 3 4 5 6 7 8 9 10 11 12
private int mm=;
//空日期构造函数
public JCalendar() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//带日期设置的构造函数
public JCalendar(int year, int month, int day) {
cal.set(year, month, day);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//带日历输入的构造函数
public JCalendar(GregorianCalendar calendar) {
cal=calendar;
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//带日期输入的构造函数
public JCalendar(Date date) {
cal.setTime(date);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//初始化组件
private void jbInit() throws Exception {
//初始化年、月、日
iniCalender();

this.setLayout(new BorderLayout());
this.setBorder(BorderFactory.createRaisedBevelBorder());
this.setMaximumSize(new Dimension(200, 200));
this.setMinimumSize(new Dimension(200, 200));
this.setPreferredSize(new Dimension(200, 200));

Main.setLayout(new BorderLayout());
Main.setBackground(SystemColor.info);
Main.setBorder(null);

Out.setBackground(Color.lightGray);
Out.setHorizontalAlignment(SwingConstants.CENTER);
Out.setMaximumSize(new Dimension(100, 19));
Out.setMinimumSize(new Dimension(100, 19));
Out.setPreferredSize(new Dimension(100, 19));

jLabel1.setForeground(Color.red);
jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
jLabel1.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel1.setText("日");
jLabel2.setForeground(Color.blue);
jLabel2.setHorizontalAlignment(SwingConstants.CENTER);
jLabel2.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel2.setText("六");
jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
jLabel3.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel3.setText("五");
jLabel4.setHorizontalAlignment(SwingConstants.CENTER);
jLabel4.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel4.setText("四");
jLabel5.setHorizontalAlignment(SwingConstants.CENTER);
jLabel5.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel5.setText("三");
jLabel6.setBorder(null);
jLabel6.setHorizontalAlignment(SwingConstants.CENTER);
jLabel6.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel6.setText("二");
jLabel7.setBackground(Color.lightGray);
jLabel7.setForeground(Color.black);
jLabel7.setBorder(null);
jLabel7.setHorizontalAlignment(SwingConstants.CENTER);
jLabel7.setHorizontalTextPosition(SwingConstants.CENTER);
jLabel7.setText("一");

weekPanel.setBackground(UIManager.getColor("InternalFrame.activeTitleGradient"));
weekPanel.setBorder(BorderFactory.createEtchedBorder());
weekPanel.setLayout(new GridLayout(1,7));
weekPanel.add(jLabel1, null);
weekPanel.add(jLabel7, null);
weekPanel.add(jLabel6, null);
weekPanel.add(jLabel5, null);
weekPanel.add(jLabel4, null);
weekPanel.add(jLabel3, null);
weekPanel.add(jLabel2, null);

MonthUp.setAlignmentX((float) 0.0);
MonthUp.setActionMap(null);

jPanelMonth.setBackground(SystemColor.info);
jPanelMonth.setLayout(new BorderLayout());
jPanelMonth.setBorder(BorderFactory.createEtchedBorder());
Month.setBorder(null);
Month.setHorizontalAlignment(SwingConstants.CENTER);
Month.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
Month_mouseClicked(e);
}
});
Month.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(KeyEvent e) {
Month_keyPressed(e);
}
});

MonthDown.setBorder(null);
MonthDown.setText("\u25C4");
MonthDown.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
MonthDown_actionPerformed(e);
}
});
MonthUp.setBorder(null);
MonthUp.setText("\u25BA");
MonthUp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
MonthUp_actionPerformed(e);
}
});
jPanelButton.setLayout(null);
jPanelButton.setBorder(null);
jPanelButton.addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentResized(java.awt.event.ComponentEvent evt) {
jPanelButtonComponentResized(evt);
}
});

Year.setBorder(BorderFactory.createEtchedBorder());
Year.setMaximumSize(new Dimension(80, 25));
Year.setMinimumSize(new Dimension(80, 25));
Year.setPreferredSize(new Dimension(80, 25));
Year.setHorizontalAlignment(SwingConstants.CENTER);
Year.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
Year_mouseClicked(e);
}
});
Year.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(KeyEvent e) {
Year_keyPressed(e);
}
});

YearDown.setBorder(null);
YearDown.setMaximumSize(new Dimension(16, 16));
YearDown.setMinimumSize(new Dimension(16, 16));
YearDown.setPreferredSize(new Dimension(16, 16));
YearDown.setSize(new Dimension(16, 16));
YearDown.setText("▼");
YearDown.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
YearDown_actionPerformed(e);
}
});
YearUp.setBorder(null);
YearUp.setMaximumSize(new Dimension(16, 16));
YearUp.setMinimumSize(new Dimension(16, 16));
YearUp.setPreferredSize(new Dimension(16, 16));
YearUp.setSize(new Dimension(16, 16));
YearUp.setText("▲");
YearUp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
YearUp_actionPerformed(e);
}
});

jPanelDay.setLayout(new BorderLayout());

Days.setLayout(new GridLayout(6,7));
Days.setBackground(SystemColor.info);

for(int i=0;i《42;i++){
days=new JToggleButton();
days.setBorder(null);
days.setBackground(SystemColor.info);
days.setHorizontalAlignment(SwingConstants.CENTER);
days.setHorizontalTextPosition(SwingConstants.CENTER);
//days.setSize(l,l);
days.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(ActionEvent e) {
day=Integer.parseInt(((JToggleButton)e.getSource()).getText());
showDate();
showDays();
}
});
Days.add(days);
}

this.add(Main, BorderLayout.NORTH);
this.add(jPanelDay, BorderLayout.CENTER);
this.add(jPanelMonth, BorderLayout.SOUTH);

Main.add(Year, BorderLayout.CENTER);
Main.add(Out, BorderLayout.WEST);
Main.add(jPanelButton, BorderLayout.EAST);

jPanelButton.add(YearUp);
jPanelButton.add(YearDown);

jPanelDay.add(weekPanel,BorderLayout.NORTH);
jPanelDay.add(Days, BorderLayout.CENTER);

jPanelMonth.add(Month, BorderLayout.CENTER);
jPanelMonth.add(MonthDown, BorderLayout.WEST);
jPanelMonth.add(MonthUp, BorderLayout.EAST);

showMonth();
showYear();
showDate();
showDays();
}

//自定义重画年选择面板
void jPanelButtonComponentResized(java.awt.event.ComponentEvent evt){
YearUp.setLocation(0,0);
YearDown.setLocation(0,YearUp.getHeight());
jPanelButton.setSize(YearUp.getWidth(),YearUp.getHeight()*2);
jPanelButton.setPreferredSize(new Dimension(YearUp.getWidth(),YearUp.getHeight()*2));
jPanelButton.updateUI();
}

//测试用
public static void main(String args){
JFrame f=new JFrame();
f.setContentPane(new JCalendar());
f.pack();
//f.setResizable(false);
f.show();
}
//增加年份
void YearUp_actionPerformed(ActionEvent e) {
year++;
showYear();
showDate();
showDays();
}

//减少年份
void YearDown_actionPerformed(ActionEvent e) {
year--;
showYear();
showDate();
showDays();
}

//减少月份
void MonthDown_actionPerformed(ActionEvent e) {
month--;
if(month《0) {
month = 11;
year--;
showYear();
}
showMonth();
showDate();
showDays();
}

//增加月份
void MonthUp_actionPerformed(ActionEvent e) {
month++;
if(month==12) {
month=0;
year++;
showYear();
}
showMonth();
showDate();
showDays();
}

//初始化年月日
void iniCalender(){
year=cal.get(Calendar.YEAR);
month=cal.get(Calendar.MONTH);
day=cal.get(Calendar.DAY_OF_MONTH);
}

//刷新月份
void showMonth(){
Month.setText(Integer.toString(month+1)+"月");
}

//刷新年份
void showYear(){
Year.setText(Integer.toString(year)+"年");
}

//刷新日期
void showDate(){
Out.setText(Integer.toString(year)+"-"+Integer.toString(month+1)+"-"+Integer.toString(day));
}

//重画天数选择面板
void showDays() {
cal.set(year,month,1);
int firstDayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
int n=mm;
if(cal.isLeapYear(year)&&month==1) n++;
int i=0;
for(;i《firstDayOfWeek-1;i++){
days.setEnabled(false);
days.setSelected(false);
days.setText("");
}
int d=1;
for(;d《=n;d++){
days.setText(Integer.toString(d));
days.setEnabled(true);
if(d==day) days.setSelected(true);
else days.setSelected(false);;
i++;
}
for(;i《42;i++){
days.setEnabled(false);
days.setSelected(false);
days.setText("");
}
}

//单击年份面板选择整个年份字符串
void SelectionYear(){
Year.setSelectionStart(0);
Year.setSelectionEnd(Year.getText().length());
}

//单击月份面板选择整个月份字符串
void SelectionMonth(){
Month.setSelectionStart(0);
Month.setSelectionEnd(Month.getText().length());
}

//月份面板响应鼠标单击事件
void Month_mouseClicked(MouseEvent e) {
//SelectionMonth();
inputMonth();
}

//检验输入的月份
void inputMonth(){
String s;
if(Month.getText().endsWith("月"))
{
s=Month.getText().substring(0,Month.getText().length()-1);
}
else s=Month.getText();
month=Integer.parseInt(s)-1;
this.showMe();
}

//月份面板键盘敲击事件响应
void Month_keyPressed(KeyEvent e) {
if(e.getKeyChar()==10)
inputMonth();
}

//年份面板响应鼠标单击事件
void Year_mouseClicked(MouseEvent e) {
//SelectionYear();
inputYear();
}

//年份键盘敲击事件响应
void Year_keyPressed(KeyEvent e) {
//System.out.print(new Integer(e.getKeyChar()).byteValue());
if(e.getKeyChar()==10)
inputYear();
}

//检验输入的年份字符串
void inputYear() {
String s;
if(Year.getText().endsWith("年"))
{
s=Year.getText().substring(0,Year.getText().length()-1);
}
else s=Year.getText();
year=Integer.parseInt(s);
this.showMe();
}

//以字符串形式返回日期,yyyy-mm-dd
public String getDate()

//以字符串形式输入日期,yyyy-mm-dd
public void setDate(String date){
if(date!=null){
StringTokenizer f = new StringTokenizer(date, "-");
if(f.hasMoreTokens())
year = Integer.parseInt(f.nextToken());
if(f.hasMoreTokens())
month = Integer.parseInt(f.nextToken());
if(f.hasMoreTokens())
day = Integer.parseInt(f.nextToken());
cal.set(year,month,day);
}
this.showMe();
}

//以日期对象形式输入日期
public void setTime(Date date){
cal.setTime(date);
this.iniCalender();
this.showMe();
}

//返回日期对象
public Date getTime()

//返回当前的日
public int getDay() {
return day;
}

//设置当前的日
public void setDay(int day) {
this.day = day;
cal.set(this.year,this.month,this.day);
this.showMe();
}

//设置当前的年
public void setYear(int year) {
this.year = year;
cal.set(this.year,this.month,this.day);
this.showMe();
}

//返回当前的年
public int getYear() {
return year;
}

//返回当前的月
public int getMonth() {
return month;
}

//设置当前的月
public void setMonth(int month) {
this.month = month;
cal.set(this.year,this.month,this.day);
this.showMe();
}

//刷新
public void showMe(){
this.showDays();
this.showMonth();
this.showYear();
this.showDate();
}
}
public class TestJCalendar {
public static void main(String args) {
JFrame f=new JFrame();
f.setContentPane(new JCalendar());
f.pack();
//f.setResizable(false);
f.show();
}
}

thinkphp 导出excel 怎么合并单元格

PHPexcel导出_带合并单元格/边框背景/_有效果图_thinkphp
##供稿单位导出
public function gonggao_excel(){
$color=’0xCC000000’;
//查询所有供稿单位
$order=’paixu asc,id desc’;
$where=array(’token’=》$this-》token,’status’=》’1’);
$data=M(’gonggao’)-》where($where)-》order($order)-》select();
//增加供稿单位的文章数量
foreach ($data as $key =》 $value) {
$data))-》count();
$data))-》getfield(’title’,true);
}
// //查询出所有行数
// $all_count=0;
// foreach ($data as $key =》 $value) {
// if(!empty($value)){
// $all_count=$all_count+count($value);
// }else{
// $all_count++;
// }
//重组数组
foreach ($data as $key =》 $value) {
if(!empty($value)){
foreach ($value as $k =》 $v) {
$newData=$v;
}
}else{
$newData=’’;
}
}
//dump($newData);
//dump($data);
//die;
// 引用phpexcel类
import(’Lib/ORG/PHPExcel’);
// 创建对象
$objPHPExcel = new PHPExcel();
// 显示错误信息
error_reporting(E_ALL);
// Set properties
$objPHPExcel-》getProperties()-》setCreator("赵英杰")
-》setLastModifiedBy("赵英杰")
-》setTitle("Office 2007 XLSX Test Document")
-》setSubject("Office 2007 XLSX Test Document")
-》setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
-》setKeywords("office 2007 openxml php")
-》setCategory("Test result file");
// 设置宽度
$objPHPExcel-》getActiveSheet()-》getColumnDimension(’A’)-》setWidth(10);
$objPHPExcel-》getActiveSheet()-》getColumnDimension(’B’)-》setWidth(40);
$objPHPExcel-》getActiveSheet()-》getColumnDimension(’C’)-》setWidth(15);
$objPHPExcel-》getActiveSheet()-》getColumnDimension(’D’)-》setWidth(60);
// 设置行高度
$objPHPExcel-》getActiveSheet()-》getDefaultRowDimension()-》setRowHeight(20); //设置默认行高
$objPHPExcel-》getActiveSheet()-》getRowDimension(’1’)-》setRowHeight(30); //第一行行高
$objPHPExcel-》getActiveSheet()-》getRowDimension(’2’)-》setRowHeight(20); //第二行行高
// 字体和样式
$objPHPExcel-》getActiveSheet()-》getDefaultStyle()-》getFont()-》setSize(12); //字体大小
$objPHPExcel-》getActiveSheet()-》getStyle(’A2:D2’)-》getFont()-》setBold(false); //第二行是否加粗
$objPHPExcel-》getActiveSheet()-》getStyle(’A1’)-》getFont()-》setBold(true); //第一行是否加粗
$objPHPExcel-》getActiveSheet()-》getStyle(’A1’)-》getFont()-》setSize(16); //第一行字体大小
// 设置垂直居中
$objPHPExcel-》getActiveSheet()-》getStyle(’A1’)-》getAlignment()-》setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel-》getActiveSheet()-》getStyle(’A2:D2’)-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//边框样式
$styleArray = array(
’borders’ =》 array(
’allborders’ =》 array(
//’style’ =》 PHPExcel_Style_Border::BORDER_THICK,//边框是粗的
’style’ =》 PHPExcel_Style_Border::BORDER_THIN,//细边框
’color’ =》 array(’argb’ =》 $color),
),
),
);
$objPHPExcel-》getActiveSheet()-》getStyle(’A2:D2’)-》applyFromArray($styleArray);
//边框
//$objPHPExcel-》getActiveSheet()-》getStyle(’A2:D2’)-》getBorders()-》getAllBorders()-》setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
// 设置水平居中
$objPHPExcel-》getActiveSheet()-》getStyle(’A1’)-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel-》getActiveSheet()-》getStyle(’A’)-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel-》getActiveSheet()-》getStyle(’B’)-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel-》getActiveSheet()-》getStyle(’C’)-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel-》getActiveSheet()-》getStyle(’D’)-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
// 合并
$objPHPExcel-》getActiveSheet()-》mergeCells(’A1:D1’);
// 表头
$objPHPExcel-》setActiveSheetIndex(0)
-》setCellValue(’A1’, ’供稿单位文章统计’)
-》setCellValue(’A2’, ’编号’)
-》setCellValue(’B2’, ’供稿单位’)
-》setCellValue(’C2’, ’文章数量’)
-》setCellValue(’D2’, ’文章名称’);
// 内容
// for ($i = 0, $len = count($data); $i 《 $len; $i++) {
// $objPHPExcel-》getActiveSheet(0)-》setCellValue(’A’ . ($i + 3), $i);
// $objPHPExcel-》getActiveSheet(0)-》setCellValue(’B’ . ($i + 3), $data);
// $objPHPExcel-》getActiveSheet(0)-》setCellValue(’C’ . ($i + 3), $data);
// $objPHPExcel-》getActiveSheet(0)-》setCellValue(’D’ . ($i + 3), $data);
// $objPHPExcel-》getActiveSheet()-》getStyle(’A’ . ($i + 3) . ’:D’ . ($i + 3))-》getAlignment()-》setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
// $objPHPExcel-》getActiveSheet()-》getStyle(’A’ . ($i + 3) . ’:D’ . ($i + 3))-》getBorders()-》getAllBorders()-》setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
// $objPHPExcel-》getActiveSheet()-》getRowDimension($i + 3)-》setRowHeight(16);
// }
//重构内容-文章名称录入
for ($i = 0, $len = count($newData); $i 《 $len; $i++) {
$objPHPExcel-》getActiveSheet(0)-》setCellValue(’D’ . ($i + 3), $newData);
$objPHPExcel-》getActiveSheet()-》getStyle(’A’ . ($i + 3) . ’:D’ . ($i + 3))-》getAlignment()-》setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//左对齐
$objPHPExcel-》getActiveSheet()-》getStyle(’D’)-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
//边框设置
//$objPHPExcel-》getActiveSheet()-》getStyle(’A’ . ($i + 3) . ’:D’ . ($i + 3))-》getBorders()-》getAllBorders()-》setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
// $objPHPExcel-》getActiveSheet()-》getRowDimension($i + 3)-》setRowHeight(16); //重构行高
$objPHPExcel-》getActiveSheet()-》getStyle(’A’ . ($i + 3) . ’:D’ . ($i + 3))-》applyFromArray($styleArray);
}
// //查询出所有行数
// $all_count=0;
// foreach ($data as $key =》 $value) {
// if(!empty($value)){
// $all_count=$all_count+count($value);
// }else{
// $all_count++;
// }
//合并对应单元格并录入编号/供稿单位/数量。
$ii=3;//从第三行开始的
for ($i = 0, $len = count($data); $i 《 $len; $i++) {
if(count($data)》0){
//合并 注意-1,因为当前单位有内容且是第一篇
$objPHPExcel-》getActiveSheet()-》mergeCells(’A’ . ($ii) . ’:A’ . ($ii-1+count($data) ));
$objPHPExcel-》getActiveSheet()-》mergeCells(’B’ . ($ii) . ’:B’ . ($ii-1+count($data) ));
$objPHPExcel-》getActiveSheet()-》mergeCells(’C’ . ($ii) . ’:C’ . ($ii-1+count($data) ));
//录入记录
$objPHPExcel-》getActiveSheet(0)-》setCellValue(’A’ . ($ii), $i+1);
$objPHPExcel-》getActiveSheet(0)-》setCellValue(’B’ . ($ii), $data);
$objPHPExcel-》getActiveSheet(0)-》setCellValue(’C’ . ($ii), count($data));
//居中
$objPHPExcel-》getActiveSheet()-》getStyle(’A’ . ($ii))-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel-》getActiveSheet()-》getStyle(’B’ . ($ii))-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel-》getActiveSheet()-》getStyle(’C’ . ($ii))-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$ii=$ii-1+count($data);
$ii++;
}else{
//录入记录
$objPHPExcel-》getActiveSheet(0)-》setCellValue(’A’ . ($ii), $i+1);
$objPHPExcel-》getActiveSheet(0)-》setCellValue(’B’ . ($ii), $data);
$objPHPExcel-》getActiveSheet(0)-》setCellValue(’C’ . ($ii), count($data));
//居中
$objPHPExcel-》getActiveSheet()-》getStyle(’A’ . ($ii))-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel-》getActiveSheet()-》getStyle(’B’ . ($ii))-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel-》getActiveSheet()-》getStyle(’C’ . ($ii))-》getAlignment()-》setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$ii++;
}
}
// Rename sheet
$objPHPExcel-》getActiveSheet()-》setTitle(’供稿单位文章统计’);
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel-》setActiveSheetIndex(0);
// 输出
header(’Content-Type: application/vnd.ms-excel’);
header(’Content-Disposition: attachment;filename="’ . ’供稿单位’ . ’.xls"’);
header(’Cache-Control: max-age=0’);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ’Excel5’);
$objWriter-》save(’php://output’);
exit;
}

关于horizontal dimension和用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

horizontal dimension(用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的)

本文编辑:admin

更多文章:


zp2tf函数(用MATLAB怎么做传输函数的冲击和阶跃响应)

zp2tf函数(用MATLAB怎么做传输函数的冲击和阶跃响应)

大家好,zp2tf函数相信很多的网友都不是很明白,包括用MATLAB怎么做传输函数的冲击和阶跃响应也是一样,不过没有关系,接下来就来为大家分享关于zp2tf函数和用MATLAB怎么做传输函数的冲击和阶跃响应的一些知识点,大家可以关注收藏,免

2025年12月31日 09:30

java算法视频教程(求实战应用Java算法分析与设计(链表、二叉树、哈夫曼树、图、动态规划、HashTable算法)教学视频)

java算法视频教程(求实战应用Java算法分析与设计(链表、二叉树、哈夫曼树、图、动态规划、HashTable算法)教学视频)

本篇文章给大家谈谈java算法视频教程,以及求实战应用Java算法分析与设计(链表、二叉树、哈夫曼树、图、动态规划、HashTable算法)教学视频对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有

2025年7月4日 00:15

datagridview美化(vb.net 使用appFace美化窗体,按钮有灰色)

datagridview美化(vb.net 使用appFace美化窗体,按钮有灰色)

“datagridview美化”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看datagridview美化(vb.net 使用appFace美化窗体,按钮有灰色)!本文目录vb.net 使用appFace美化窗体,按钮有灰色

2026年4月16日 09:15

phpcmsapi(CMSV10-API文档)

phpcmsapi(CMSV10-API文档)

大家好,关于phpcmsapi很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于CMSV10-API文档的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录C

2026年2月15日 13:30

thinkphp导航源码(在thinkphp中调用导航条链接是怎么做的)

thinkphp导航源码(在thinkphp中调用导航条链接是怎么做的)

本篇文章给大家谈谈thinkphp导航源码,以及在thinkphp中调用导航条链接是怎么做的对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录

2025年12月8日 20:45

文化墙模板免费网站(推荐几个好的平面设计素材的网站)

文化墙模板免费网站(推荐几个好的平面设计素材的网站)

各位老铁们,大家好,今天由我来为大家分享文化墙模板免费网站,以及推荐几个好的平面设计素材的网站的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录推荐几

2026年1月28日 13:00

virgo是什么星座?virgo是什么意思

virgo是什么星座?virgo是什么意思

本篇文章给大家谈谈virgo,以及virgo是什么星座对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录virgo是什么星座virgo是什么意

2026年1月31日 20:00

typedef  struct(typedef struct什么意思)

typedef struct(typedef struct什么意思)

本篇文章给大家谈谈typedef struct,以及typedef struct什么意思对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录t

2025年8月9日 06:15

merman(有个单词,开头是mer最后是n 七位左右)

merman(有个单词,开头是mer最后是n 七位左右)

本篇文章给大家谈谈merman,以及有个单词,开头是mer最后是n 七位左右对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录有个单词,开头是mer最后是n 七位左右merman什么意思有个单词,开头是mer最后是n 七位左右知

2026年1月2日 09:30

代表英语delegate(象征如何用英语翻译)

代表英语delegate(象征如何用英语翻译)

大家好,代表英语delegate相信很多的网友都不是很明白,包括象征如何用英语翻译也是一样,不过没有关系,接下来就来为大家分享关于代表英语delegate和象征如何用英语翻译的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧

2026年4月27日 00:15

thinkphp 手机站(thinkphp站点下怎么隐藏前台和后台的入口文件index.php,admin.php)

thinkphp 手机站(thinkphp站点下怎么隐藏前台和后台的入口文件index.php,admin.php)

各位老铁们,大家好,今天由我来为大家分享thinkphp 手机站,以及thinkphp站点下怎么隐藏前台和后台的入口文件index.php,admin.php的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支

2026年1月13日 15:00

app开发一个需要多少钱(想要开发app,不知道开发一个app需要多少钱)

app开发一个需要多少钱(想要开发app,不知道开发一个app需要多少钱)

各位老铁们好,相信很多人对app开发一个需要多少钱都不是特别的了解,因此呢,今天就来为大家分享下关于app开发一个需要多少钱以及想要开发app,不知道开发一个app需要多少钱的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧

2026年2月8日 01:15

linux不安装python能运行吗(python 程序运行必须要安装python吗)

linux不安装python能运行吗(python 程序运行必须要安装python吗)

本篇文章给大家谈谈linux不安装python能运行吗,以及python 程序运行必须要安装python吗对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本

2025年5月27日 20:45

springboot集成websocket(SpringBoot+Vue+Websocket 实现服务器端向客户端主动发送消息)

springboot集成websocket(SpringBoot+Vue+Websocket 实现服务器端向客户端主动发送消息)

这篇文章给大家聊聊关于springboot集成websocket,以及SpringBoot+Vue+Websocket 实现服务器端向客户端主动发送消息对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录SpringBoot+Vu

2025年10月5日 17:15

澳大利亚对埃里克森(澳大利亚对阵丹麦战况如何)

澳大利亚对埃里克森(澳大利亚对阵丹麦战况如何)

本篇文章给大家谈谈澳大利亚对埃里克森,以及澳大利亚对阵丹麦战况如何对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录澳大利亚对阵丹麦战况如何丹

2025年10月14日 22:15

js怎么获取当前日期(怎么用js获取当前日期到type=“date“)

js怎么获取当前日期(怎么用js获取当前日期到type=“date“)

大家好,今天小编来为大家解答以下的问题,关于js怎么获取当前日期,怎么用js获取当前日期到type=“date“这个很多人还不知道,现在让我们一起来看看吧!本文目录怎么用js获取当前日期到type=“date“js怎么获得数据库里的时间js

2025年7月2日 06:30

社会新闻最新消息(百度文心一言宣布向全社会开放,同时还有全新重构的 AI 原生应用,哪些信息值得关注 实际使用体验)

社会新闻最新消息(百度文心一言宣布向全社会开放,同时还有全新重构的 AI 原生应用,哪些信息值得关注 实际使用体验)

大家好,如果您还对社会新闻最新消息不太了解,没有关系,今天就由本站为大家分享社会新闻最新消息的知识,包括百度文心一言宣布向全社会开放,同时还有全新重构的 AI 原生应用,哪些信息值得关注 实际使用体验的问题都会给大家分析到,还望可以解决大家

2025年8月30日 22:30

receiver安卓下载(android downloadmanager 如何设置同时可下载文件数)

receiver安卓下载(android downloadmanager 如何设置同时可下载文件数)

大家好,receiver安卓下载相信很多的网友都不是很明白,包括android downloadmanager 如何设置同时可下载文件数也是一样,不过没有关系,接下来就来为大家分享关于receiver安卓下载和android downloa

2026年1月2日 01:30

python从入门到实践视频(Python基础教程和入门到实践哪个比较好)

python从入门到实践视频(Python基础教程和入门到实践哪个比较好)

本篇文章给大家谈谈python从入门到实践视频,以及Python基础教程和入门到实践哪个比较好对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录Python基础教程和入门到实践哪个比较好本人开始学习python,哪位有比较好的视

2026年2月21日 14:30

阿迪达斯发布全新web3旅程(阿迪达斯猎鹰edge3怎么样)

阿迪达斯发布全新web3旅程(阿迪达斯猎鹰edge3怎么样)

这篇文章给大家聊聊关于阿迪达斯发布全新web3旅程,以及阿迪达斯猎鹰edge3怎么样对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录阿迪达斯猎鹰edge3怎么样阿迪达斯夜行者3代什么时候出的如何评价阿迪达斯的全新足球鞋系列AC

2025年8月12日 16:30

近期文章

regularly up(翻译英文、)
2026-09-25 00:30:01
本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索