⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datavaliditysettingsrecord.java

📁 一个非常有用的操作MCRSOFT EXCEL文件的工具。可以用JAVA方便的新建
💻 JAVA
字号:
/*********************************************************************
*
*      Copyright (C) 2004 Andrew Khan
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
***************************************************************************/

package jxl.write.biff;

import common.Logger;

import jxl.biff.Type;
import jxl.biff.WritableRecordData;
import jxl.biff.DVParser;
import jxl.biff.formula.FormulaException;
import jxl.WorkbookSettings;

/**
 * Data validity settings
 */
class DataValiditySettingsRecord extends WritableRecordData
{
  /**
   * The logger
   */
  private static final Logger logger = 
    Logger.getLogger(DataValiditySettingsRecord.class);

  /**
   * The binary data
   */
  private byte[] data;
  
  /**
   * The reader
   */
  private DVParser dvParser;

  /**
   * Handle to the workbook
   */
  private WritableWorkbookImpl workbook;

  /**
   * Handle to the workbook settings
   */
  private WorkbookSettings workbookSettings;

  /**
   * Constructor
   *
   * @param dvsr the record copied from a read only sheet
   */
  DataValiditySettingsRecord(jxl.read.biff.DataValiditySettingsRecord dvsr,
                             WritableWorkbookImpl w, 
                             WorkbookSettings ws)
  {
    super(Type.DV);
    workbook = w;
    workbookSettings = ws;

    
    data = dvsr.getData();
  }

  /**
   * Constructor
   *
   * @param dvsr the record copied from a writable sheet
   */
  DataValiditySettingsRecord(DataValiditySettingsRecord dvsr,
                             WritableWorkbookImpl w, 
                             WorkbookSettings ws)
  {
    super(Type.DV);
    workbook = w;
    workbookSettings = ws;
    
    data = new byte[dvsr.data.length];
    System.arraycopy(dvsr.data, 0, data, 0, data.length);
  }

  /**
   * Initializes the dvParser
   */
  private void initialize()
  {
    try
    {
      if (dvParser == null)
      {
        dvParser = new DVParser(data, workbook, workbook, workbookSettings);
      }
    }
    catch (FormulaException e)
    {
      logger.warn("Cannot read drop down range " + e.getMessage());
      e.printStackTrace();
    }
  }
  /**
   * Retrieves the data for output to binary file
   * 
   * @return the data to be written
   */
  public byte[] getData()
  {
    if (dvParser == null)
    {
      return data;
    }

    return dvParser.getData();
  }

  /**
   * Inserts a row
   *
   * @param row the row to insert
   */
  public void insertRow(int row)
  {
    if (dvParser == null)
    {
      initialize();
    }

    dvParser.insertRow(row);
  }

  /**
   * Removes a row
   *
   * @param row the row to insert
   */
  public void removeRow(int row)
  {
    if (dvParser == null)
    {
      initialize();
    }

    dvParser.removeRow(row);
  }

  /**
   * Inserts a row
   *
   * @param col the row to insert
   */
  public void insertColumn(int col)
  {
    if (dvParser == null)
    {
      initialize();
    }

    dvParser.insertColumn(col);
  }

  /**
   * Removes a column
   *
   * @param col the row to insert
   */
  public void removeColumn(int col)
  {
    if (dvParser == null)
    {
      initialize();
    }

    dvParser.removeColumn(col);
  }

  /**
   * Accessor for first column
   *
   * @return the first column
   */
  public int getFirstColumn()
  {
    if (dvParser == null)
    {
      initialize();
    }

    return dvParser.getFirstColumn();
  }

  /**
   * Accessor for the last column
   *
   * @return the last column
   */
  public int getLastColumn()
  {
    if (dvParser == null)
    {
      initialize();
    }

    return dvParser.getLastColumn();
  }

  /**
   * Accessor for first row
   *
   * @return the first row
   */
  public int getFirstRow()
  {
    if (dvParser == null)
    {
      initialize();
    }

    return dvParser.getFirstRow();
  }

  /**
   * Accessor for the last row
   *
   * @return the last row
   */
  public int getLastRow()
  {
    if (dvParser == null)
    {
      initialize();
    }

    return dvParser.getLastRow();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -